18 lines
1.1 KiB
MySQL
18 lines
1.1 KiB
MySQL
|
|
-- 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';
|