mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
init depresiasi
This commit is contained in:
+6
@@ -0,0 +1,6 @@
|
||||
ALTER TABLE kandangs
|
||||
DROP COLUMN IF EXISTS house_type;
|
||||
|
||||
DROP TABLE IF EXISTS house_depreciation_standards;
|
||||
|
||||
DROP TYPE IF EXISTS house_type_enum;
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
CREATE TYPE house_type_enum AS ENUM ('open_house', 'close_house');
|
||||
|
||||
CREATE TABLE house_depreciation_standards (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(100),
|
||||
effective_date DATE,
|
||||
house_type house_type_enum NOT NULL,
|
||||
day INT NOT NULL
|
||||
CHECK (day >= 0),
|
||||
depreciation_percent NUMERIC(15, 6) NOT NULL
|
||||
CHECK (depreciation_percent >= 0 AND depreciation_percent <= 100),
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
CONSTRAINT house_depreciation_standards_house_type_day_unique UNIQUE (house_type, day)
|
||||
);
|
||||
|
||||
ALTER TABLE kandangs
|
||||
ADD COLUMN house_type house_type_enum;
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
DROP INDEX IF EXISTS idx_farm_depreciation_snapshots_project_flock_id;
|
||||
DROP INDEX IF EXISTS idx_farm_depreciation_snapshots_period_date;
|
||||
DROP TABLE IF EXISTS farm_depreciation_snapshots;
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
CREATE TABLE IF NOT EXISTS farm_depreciation_snapshots (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
project_flock_id BIGINT NOT NULL
|
||||
REFERENCES project_flocks(id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE,
|
||||
period_date DATE NOT NULL,
|
||||
depreciation_percent_effective NUMERIC(15, 6) NOT NULL DEFAULT 0,
|
||||
depreciation_value NUMERIC(18, 3) NOT NULL DEFAULT 0,
|
||||
pullet_cost_day_n_total NUMERIC(18, 3) NOT NULL DEFAULT 0,
|
||||
components JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT farm_depreciation_snapshots_unique UNIQUE (project_flock_id, period_date)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_farm_depreciation_snapshots_period_date
|
||||
ON farm_depreciation_snapshots (period_date);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_farm_depreciation_snapshots_project_flock_id
|
||||
ON farm_depreciation_snapshots (project_flock_id);
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
DROP INDEX IF EXISTS idx_farm_depreciation_manual_inputs_project_flock_id;
|
||||
DROP TABLE IF EXISTS farm_depreciation_manual_inputs;
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
CREATE TABLE IF NOT EXISTS farm_depreciation_manual_inputs (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
project_flock_id BIGINT NOT NULL
|
||||
REFERENCES project_flocks(id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE,
|
||||
total_cost NUMERIC(18, 3) NOT NULL DEFAULT 0
|
||||
CHECK (total_cost >= 0),
|
||||
note TEXT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT farm_depreciation_manual_inputs_unique UNIQUE (project_flock_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_farm_depreciation_manual_inputs_project_flock_id
|
||||
ON farm_depreciation_manual_inputs (project_flock_id);
|
||||
Reference in New Issue
Block a user