fix(ws2-migration): 補 enum types + 執行 prod migration
- CREATE TYPE approvalstatus / risklevel(SQLAlchemy native_enum) - approval_records 已在 prod awoooi_prod 建立 - telegram_chat_id BIGINT(支援 -1003711974679) - status approvalstatus enum(非 VARCHAR) - awoooi_migrator 角色需 superuser 才能建,留 backlog Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,14 +17,23 @@ GRANT CONNECT ON DATABASE awoooi_prod TO awoooi_migrator;
|
||||
GRANT USAGE ON SCHEMA public TO awoooi_migrator;
|
||||
GRANT CREATE ON SCHEMA public TO awoooi_migrator;
|
||||
|
||||
-- SQLAlchemy native enum types(SQLEnum 預設 native_enum=True)
|
||||
DO $$ BEGIN
|
||||
CREATE TYPE approvalstatus AS ENUM ('pending','approved','rejected','expired','execution_success','execution_failed');
|
||||
EXCEPTION WHEN duplicate_object THEN NULL; END $$;
|
||||
|
||||
DO $$ BEGIN
|
||||
CREATE TYPE risklevel AS ENUM ('low','medium','high','critical');
|
||||
EXCEPTION WHEN duplicate_object THEN NULL; END $$;
|
||||
|
||||
-- approval_records 主表(全新建立,直接用 BIGINT)
|
||||
-- 注意:test schema setup_test_schema.sql 同步更新為 BIGINT
|
||||
CREATE TABLE IF NOT EXISTS approval_records (
|
||||
id VARCHAR(36) PRIMARY KEY,
|
||||
action VARCHAR(500) NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'PENDING',
|
||||
risk_level VARCHAR(20) NOT NULL,
|
||||
status approvalstatus NOT NULL DEFAULT 'pending',
|
||||
risk_level risklevel NOT NULL,
|
||||
required_signatures INTEGER DEFAULT 1,
|
||||
current_signatures INTEGER DEFAULT 0,
|
||||
signatures JSON DEFAULT '[]',
|
||||
|
||||
Reference in New Issue
Block a user