-- ============================================= -- Education 模块 — 答案保存幂等性回滚 (PostgreSQL) -- Ticket #7 / Migration 003 -- ============================================= -- -- WARNING: This file contains NO executable SQL. -- Destructive rollback requires manual operator verification. -- -- Manual rollback procedure (operator must execute): -- 1. Verify no other tables depend on education_answer_idempotency: -- SELECT tc.table_name, kcu.column_name, ccu.table_name AS referenced_table -- FROM information_schema.table_constraints AS tc -- JOIN information_schema.key_column_usage AS kcu -- ON tc.constraint_name = kcu.constraint_name -- JOIN information_schema.constraint_column_usage AS ccu -- ON ccu.constraint_name = tc.constraint_name -- WHERE tc.constraint_type = 'FOREIGN KEY' -- AND ccu.table_name = 'education_answer_idempotency' -- AND tc.table_catalog = current_database(); -- Result MUST be empty before proceeding. -- -- 2. Verify the table contains only data from this migration: -- SELECT COUNT(*) AS idempotency_count FROM education_answer_idempotency; -- Operator must confirm this count is acceptable to destroy. -- -- 3. Verify no application code depends on client_sequence column: -- Search codebase for 'clientSequence' / 'client_sequence' references. -- -- 4. After verification, execute: -- DROP TABLE IF EXISTS education_answer_idempotency; -- ALTER TABLE education_practice_question DROP COLUMN client_sequence; -- -- DO NOT uncomment or execute the lines below without operator verification. -- -- DROP TABLE IF EXISTS education_answer_idempotency; -- -- ALTER TABLE education_practice_question DROP COLUMN client_sequence;