45 lines
2.2 KiB
PL/PgSQL
45 lines
2.2 KiB
PL/PgSQL
-- ==============================================================================
|
|||
|
|
-- RailwaySystem 数据库 V2 回滚脚本: 001_rollback_new_tables.sql
|
||
|
|
-- 适用数据库: KingbaseES V009R003C018 (schema: public)
|
||
|
|
-- 执行目标: 安全下线并删除数据库 V2 新增的 8 张培训业务表
|
||
|
|
-- 事务边界: 全程在显式事务 BEGIN ... COMMIT 中执行
|
||
|
|
-- 说明: 先显式解除外键约束,然后按依赖反序执行常规 DROP TABLE (无 CASCADE)
|
||
|
|
-- ==============================================================================
|
||
|
|
|
||
|
|
BEGIN;
|
||
|
|
|
||
|
|
-- 步骤 1: 显式解除 V2 新增表之间的外键约束
|
||
|
|
ALTER TABLE train_student_score DROP CONSTRAINT IF EXISTS fk_score_enrollment;
|
||
|
|
ALTER TABLE train_student_score DROP CONSTRAINT IF EXISTS fk_score_item;
|
||
|
|
|
||
|
|
ALTER TABLE train_score_item DROP CONSTRAINT IF EXISTS fk_scoreitem_plan;
|
||
|
|
ALTER TABLE train_score_item DROP CONSTRAINT IF EXISTS fk_scoreitem_plancourse;
|
||
|
|
|
||
|
|
ALTER TABLE train_lesson DROP CONSTRAINT IF EXISTS fk_lesson_plancourse;
|
||
|
|
ALTER TABLE train_lesson DROP CONSTRAINT IF EXISTS fk_lesson_teacher;
|
||
|
|
ALTER TABLE train_lesson DROP CONSTRAINT IF EXISTS fk_lesson_classroom;
|
||
|
|
ALTER TABLE train_lesson DROP CONSTRAINT IF EXISTS fk_lesson_site;
|
||
|
|
|
||
|
|
ALTER TABLE train_accommodation DROP CONSTRAINT IF EXISTS fk_accomm_enrollment;
|
||
|
|
ALTER TABLE train_accommodation DROP CONSTRAINT IF EXISTS fk_accomm_dorm;
|
||
|
|
|
||
|
|
ALTER TABLE train_enrollment DROP CONSTRAINT IF EXISTS fk_enrollment_plan;
|
||
|
|
ALTER TABLE train_enrollment DROP CONSTRAINT IF EXISTS fk_enrollment_student;
|
||
|
|
|
||
|
|
ALTER TABLE train_plan_course DROP CONSTRAINT IF EXISTS fk_plancourse_plan;
|
||
|
|
ALTER TABLE train_plan_course DROP CONSTRAINT IF EXISTS fk_plancourse_course;
|
||
|
|
|
||
|
|
ALTER TABLE train_course_resource DROP CONSTRAINT IF EXISTS fk_cr_course;
|
||
|
|
ALTER TABLE train_course_resource DROP CONSTRAINT IF EXISTS fk_cr_resource;
|
||
|
|
|
||
|
|
-- 步骤 2: 按依赖拓扑反序执行常规 DROP TABLE
|
||
|
|
DROP TABLE IF EXISTS train_student_score;
|
||
|
|
DROP TABLE IF EXISTS train_score_item;
|
||
|
|
DROP TABLE IF EXISTS train_lesson;
|
||
|
|
DROP TABLE IF EXISTS train_accommodation;
|
||
|
|
DROP TABLE IF EXISTS train_enrollment;
|
||
|
|
DROP TABLE IF EXISTS train_plan_course;
|
||
|
|
DROP TABLE IF EXISTS train_course_resource;
|
||
|
|
DROP TABLE IF EXISTS train_resource;
|
||
|
|
|
||
|
|
COMMIT;
|