-- Migration 132: Add cancellation rules to subscriptions -- Adds fields for notice period, cancellation date, and termination order tracking ALTER TABLE sag_subscriptions ADD COLUMN IF NOT EXISTS notice_period_days INTEGER DEFAULT 30 CHECK (notice_period_days >= 0), ADD COLUMN IF NOT EXISTS cancelled_at TIMESTAMP, ADD COLUMN IF NOT EXISTS cancelled_by_user_id INTEGER REFERENCES users(user_id), ADD COLUMN IF NOT EXISTS cancellation_sag_id INTEGER REFERENCES sag_sager(id), ADD COLUMN IF NOT EXISTS cancellation_reason TEXT; CREATE INDEX IF NOT EXISTS idx_sag_subscriptions_cancelled_at ON sag_subscriptions(cancelled_at); COMMENT ON COLUMN sag_subscriptions.notice_period_days IS 'Number of days notice required for cancellation (default 30)'; COMMENT ON COLUMN sag_subscriptions.cancelled_at IS 'When the cancellation was requested'; COMMENT ON COLUMN sag_subscriptions.cancelled_by_user_id IS 'User who requested cancellation'; COMMENT ON COLUMN sag_subscriptions.cancellation_sag_id IS 'Case created for the cancellation process'; COMMENT ON COLUMN sag_subscriptions.cancellation_reason IS 'Reason for cancellation';