36 lines
1.7 KiB
SQL
36 lines
1.7 KiB
SQL
-- =============================================
|
|
-- 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;
|