전 저장소 리팩터링과 SSOT 정비
This commit is contained in:
parent
14ecbd4e7d
commit
3dfddcac6f
173 changed files with 19679 additions and 6952 deletions
|
|
@ -135,13 +135,46 @@ CREATE TABLE IF NOT EXISTS app.live_coach_events (
|
|||
session_id UUID NOT NULL REFERENCES app.sessions(id) ON DELETE CASCADE,
|
||||
turn_seq INT NOT NULL CHECK (turn_seq >= 1),
|
||||
stage TEXT NOT NULL,
|
||||
event_type TEXT NOT NULL DEFAULT 'use'
|
||||
CHECK (event_type IN ('use', 'recharge')),
|
||||
credit_delta INT NOT NULL DEFAULT -1,
|
||||
credit_balance INT,
|
||||
reason TEXT,
|
||||
learner_text_excerpt TEXT,
|
||||
client_reply_excerpt TEXT,
|
||||
payload JSONB NOT NULL DEFAULT '{}'::jsonb,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
ALTER TABLE app.live_coach_events
|
||||
ADD COLUMN IF NOT EXISTS event_type TEXT NOT NULL DEFAULT 'use';
|
||||
ALTER TABLE app.live_coach_events
|
||||
ADD COLUMN IF NOT EXISTS credit_delta INT NOT NULL DEFAULT -1;
|
||||
ALTER TABLE app.live_coach_events
|
||||
ADD COLUMN IF NOT EXISTS credit_balance INT;
|
||||
ALTER TABLE app.live_coach_events
|
||||
ADD COLUMN IF NOT EXISTS reason TEXT;
|
||||
UPDATE app.live_coach_events
|
||||
SET event_type = 'use'
|
||||
WHERE event_type IS NULL OR event_type NOT IN ('use', 'recharge');
|
||||
UPDATE app.live_coach_events
|
||||
SET credit_delta = CASE WHEN event_type = 'recharge' THEN 1 ELSE -1 END
|
||||
WHERE credit_delta IS NULL;
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM pg_constraint
|
||||
WHERE conname = 'live_coach_events_event_type_check'
|
||||
) THEN
|
||||
ALTER TABLE app.live_coach_events
|
||||
ADD CONSTRAINT live_coach_events_event_type_check
|
||||
CHECK (event_type IN ('use', 'recharge'));
|
||||
END IF;
|
||||
END $$;
|
||||
CREATE INDEX IF NOT EXISTS idx_live_coach_events_session_turn
|
||||
ON app.live_coach_events(session_id, turn_seq, created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_live_coach_events_session_type
|
||||
ON app.live_coach_events(session_id, event_type, created_at);
|
||||
|
||||
ALTER TABLE app.live_coach_events ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue