24 lines
1.0 KiB
SQL
24 lines
1.0 KiB
SQL
-- Migration: Add cycle_feed_initial_balance table
|
|
-- Description: Store initial feed sack balance (saldo karung awal) per cycle
|
|
-- Date: 2026-05-26
|
|
|
|
CREATE TABLE IF NOT EXISTS cycle_feed_initial_balance (
|
|
id SERIAL PRIMARY KEY,
|
|
cycle_id VARCHAR(255) NOT NULL UNIQUE,
|
|
saldo_awal INTEGER NOT NULL DEFAULT 0 CHECK(saldo_awal >= 0),
|
|
created_by VARCHAR(255),
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (cycle_id) REFERENCES cycles(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Create index for faster lookups by cycle
|
|
CREATE INDEX IF NOT EXISTS idx_cycle_feed_initial_balance_cycle ON cycle_feed_initial_balance(cycle_id);
|
|
|
|
-- Trigger for automatic updated_at timestamp
|
|
DROP TRIGGER IF EXISTS update_cycle_feed_initial_balance_updated_at ON cycle_feed_initial_balance;
|
|
CREATE TRIGGER update_cycle_feed_initial_balance_updated_at
|
|
BEFORE UPDATE ON cycle_feed_initial_balance
|
|
FOR EACH ROW
|
|
EXECUTE FUNCTION update_updated_at_column();
|