46 lines
1.5 KiB
SQL
46 lines
1.5 KiB
SQL
-- Keep this guard durable across a failed down attempt. It rejects a rollback before
|
|
-- any baseline table is dropped when an administrator has created business data.
|
|
CREATE TABLE IF NOT EXISTS chorus_admin_baseline_down_guard (
|
|
id TINYINT NOT NULL,
|
|
CONSTRAINT chk_chorus_admin_baseline_down_guard CHECK (id = 0)
|
|
) ENGINE=InnoDB;
|
|
|
|
DELETE FROM chorus_admin_baseline_down_guard;
|
|
INSERT INTO chorus_admin_baseline_down_guard (id)
|
|
SELECT 1
|
|
WHERE EXISTS (SELECT 1 FROM sys_user)
|
|
OR EXISTS (SELECT 1 FROM sys_role)
|
|
OR EXISTS (SELECT 1 FROM sys_dept)
|
|
OR EXISTS (SELECT 1 FROM sys_post)
|
|
OR EXISTS (SELECT 1 FROM sys_menu)
|
|
OR EXISTS (SELECT 1 FROM sys_api)
|
|
OR EXISTS (SELECT 1 FROM sys_config)
|
|
OR EXISTS (SELECT 1 FROM sys_dict_type)
|
|
OR EXISTS (SELECT 1 FROM sys_dict_data)
|
|
OR EXISTS (SELECT 1 FROM sys_job)
|
|
OR EXISTS (SELECT 1 FROM sys_login_log)
|
|
OR EXISTS (SELECT 1 FROM sys_opera_log)
|
|
OR EXISTS (SELECT 1 FROM sys_tables)
|
|
OR EXISTS (SELECT 1 FROM sys_columns)
|
|
OR EXISTS (SELECT 1 FROM sys_casbin_rule);
|
|
|
|
DROP TABLE sys_columns;
|
|
DROP TABLE sys_tables;
|
|
DROP TABLE sys_opera_log;
|
|
DROP TABLE sys_login_log;
|
|
DROP TABLE sys_job;
|
|
DROP TABLE sys_dict_data;
|
|
DROP TABLE sys_dict_type;
|
|
DROP TABLE sys_config;
|
|
DROP TABLE sys_menu_api_rule;
|
|
DROP TABLE sys_role_dept;
|
|
DROP TABLE sys_role_menu;
|
|
DROP TABLE sys_casbin_rule;
|
|
DROP TABLE sys_api;
|
|
DROP TABLE sys_menu;
|
|
DROP TABLE sys_user;
|
|
DROP TABLE sys_post;
|
|
DROP TABLE sys_dept;
|
|
DROP TABLE sys_role;
|
|
DROP TABLE chorus_admin_baseline_down_guard;
|