create_menu.sql 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. -- =====================================================
  2. -- 菜单表和角色菜单关联表
  3. -- =====================================================
  4. -- 1. 菜单表
  5. DROP TABLE IF EXISTS t_menu;
  6. CREATE TABLE t_menu (
  7. id BIGINT PRIMARY KEY COMMENT '菜单ID(雪花算法)',
  8. parent_id BIGINT DEFAULT 0 COMMENT '父菜单ID,0表示顶级菜单',
  9. menu_type INT DEFAULT 0 COMMENT '菜单类型: 0=菜单 1=iframe 2=外链 3=按钮',
  10. title VARCHAR(100) NOT NULL COMMENT '菜单名称',
  11. name VARCHAR(100) DEFAULT '' COMMENT '路由名称',
  12. path VARCHAR(200) DEFAULT '' COMMENT '路由路径',
  13. component VARCHAR(200) DEFAULT '' COMMENT '组件路径',
  14. `rank` INT DEFAULT 99 COMMENT '菜单排序',
  15. redirect VARCHAR(200) DEFAULT '' COMMENT '路由重定向',
  16. icon VARCHAR(100) DEFAULT '' COMMENT '菜单图标',
  17. extra_icon VARCHAR(100) DEFAULT '' COMMENT '右侧图标',
  18. enter_transition VARCHAR(50) DEFAULT '' COMMENT '进场动画',
  19. leave_transition VARCHAR(50) DEFAULT '' COMMENT '离场动画',
  20. active_path VARCHAR(200) DEFAULT '' COMMENT '菜单激活路径',
  21. auths VARCHAR(200) DEFAULT '' COMMENT '权限标识(按钮级别)',
  22. frame_src VARCHAR(500) DEFAULT '' COMMENT 'iframe链接地址',
  23. frame_loading TINYINT DEFAULT 1 COMMENT 'iframe是否开启加载动画',
  24. keep_alive TINYINT DEFAULT 0 COMMENT '是否缓存页面',
  25. hidden_tag TINYINT DEFAULT 0 COMMENT '是否禁止添加到标签页',
  26. fixed_tag TINYINT DEFAULT 0 COMMENT '是否固定显示在标签页',
  27. show_link TINYINT DEFAULT 1 COMMENT '是否显示该菜单',
  28. show_parent TINYINT DEFAULT 0 COMMENT '是否显示父级菜单',
  29. create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  30. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  31. deleted TINYINT DEFAULT 0 COMMENT '逻辑删除: 0=正常 1=已删除',
  32. KEY idx_parent_id (parent_id),
  33. KEY idx_menu_type (menu_type),
  34. KEY idx_rank (`rank`)
  35. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单表';
  36. -- 2. 角色-菜单关联表
  37. DROP TABLE IF EXISTS t_role_menu;
  38. CREATE TABLE t_role_menu (
  39. id BIGINT PRIMARY KEY COMMENT '主键ID(雪花算法)',
  40. role_id BIGINT NOT NULL COMMENT '角色ID',
  41. menu_id BIGINT NOT NULL COMMENT '菜单ID',
  42. create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  43. UNIQUE KEY uk_role_menu (role_id, menu_id),
  44. KEY idx_role_id (role_id),
  45. KEY idx_menu_id (menu_id)
  46. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色菜单关联表';