-- migrate/down.sql
-- 此文件用于撤销 up.sql 文件的所有操作
-- 注意：执行此脚本将会永久删除相关表和数据！

-- 移除表上的触发器
-- 必须在删除表和函数之前移除依赖它们的触发器
DROP TRIGGER IF EXISTS update_sys_users_updated_at ON sys_users;
DROP TRIGGER IF EXISTS update_sys_roles_updated_at ON sys_roles;
DROP TRIGGER IF EXISTS update_sys_menus_updated_at ON sys_menus;
DROP TRIGGER IF EXISTS update_sys_permissions_updated_at ON sys_permissions;
DROP TRIGGER IF EXISTS update_sys_apis_updated_at ON sys_apis;
DROP TRIGGER IF EXISTS update_files_updated_at ON files;

-- 删除索引
DROP INDEX IF EXISTS idx_sys_users_account;

-- 移除表
-- 按照与创建相反的顺序删除，先删除依赖其他表的表
DROP TABLE IF EXISTS sys_api_permission;
DROP TABLE IF EXISTS sys_apis;
DROP TABLE IF EXISTS sys_menu_permission;
DROP TABLE IF EXISTS sys_role_permission;
DROP TABLE IF EXISTS sys_user_role;
DROP TABLE IF EXISTS sys_permissions;
DROP TABLE IF EXISTS sys_menus;
DROP TABLE IF EXISTS sys_roles;
DROP TABLE IF EXISTS sys_users;
DROP TABLE IF EXISTS files;

-- 移除触发器函数
-- 在所有使用此函数的触发器都被移除后，可以安全地删除此函数
DROP FUNCTION IF EXISTS update_updated_at_column;
