No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

86 líneas
4.1 KiB

  1. -- 创建数据库
  2. CREATE DATABASE IF NOT EXISTS `pap_web` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  3. USE `pap_web`;
  4. -- ========================================
  5. -- 系统管理模块
  6. -- ========================================
  7. -- 管理员用户表
  8. CREATE TABLE `admin_user` (
  9. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  10. `username` varchar(50) NOT NULL COMMENT '用户名',
  11. `password` varchar(64) NOT NULL COMMENT '密码(MD5)',
  12. `nickname` varchar(50) DEFAULT '' COMMENT '昵称',
  13. `avatar` varchar(255) DEFAULT '' COMMENT '头像',
  14. `email` varchar(100) DEFAULT '' COMMENT '邮箱',
  15. `phone` varchar(20) DEFAULT '' COMMENT '手机号',
  16. `role_id` int(11) unsigned DEFAULT 0 COMMENT '角色ID',
  17. `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
  18. `last_login_ip` varchar(50) DEFAULT '' COMMENT '最后登录IP',
  19. `status` tinyint(1) DEFAULT 1 COMMENT '状态: 1启用 0停用',
  20. `is_deleted` tinyint(1) DEFAULT 0 COMMENT '软删除: 0正常 1已删除',
  21. `create_by` int(11) unsigned DEFAULT 0 COMMENT '创建人ID',
  22. `update_by` int(11) unsigned DEFAULT 0 COMMENT '修改人ID',
  23. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  24. `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  25. PRIMARY KEY (`id`),
  26. UNIQUE KEY `uk_username` (`username`),
  27. KEY `idx_role_id` (`role_id`),
  28. KEY `idx_status` (`status`),
  29. KEY `idx_is_deleted` (`is_deleted`)
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员用户表';
  31. -- 角色表
  32. CREATE TABLE `admin_role` (
  33. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  34. `name` varchar(50) NOT NULL COMMENT '角色名称',
  35. `code` varchar(50) DEFAULT '' COMMENT '角色编码',
  36. `description` varchar(200) DEFAULT '' COMMENT '角色描述',
  37. `permissions` json DEFAULT NULL COMMENT '权限列表(JSON)',
  38. `is_default` tinyint(1) DEFAULT 0 COMMENT '是否默认角色: 0否 1是',
  39. `sort` int(11) DEFAULT 0 COMMENT '排序',
  40. `status` tinyint(1) DEFAULT 1 COMMENT '状态: 1启用 0停用',
  41. `is_deleted` tinyint(1) DEFAULT 0 COMMENT '软删除: 0正常 1已删除',
  42. `create_by` int(11) unsigned DEFAULT 0 COMMENT '创建人ID',
  43. `update_by` int(11) unsigned DEFAULT 0 COMMENT '修改人ID',
  44. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  45. `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  46. PRIMARY KEY (`id`),
  47. KEY `idx_status` (`status`),
  48. KEY `idx_is_deleted` (`is_deleted`),
  49. KEY `idx_sort` (`sort`)
  50. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
  51. -- 操作日志表
  52. CREATE TABLE `admin_log` (
  53. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  54. `user_id` int(11) unsigned DEFAULT 0 COMMENT '操作用户ID',
  55. `username` varchar(50) DEFAULT '' COMMENT '操作用户名',
  56. `action` varchar(100) NOT NULL COMMENT '操作类型',
  57. `module` varchar(50) DEFAULT '' COMMENT '操作模块',
  58. `content` text COMMENT '操作内容',
  59. `ip` varchar(50) DEFAULT '' COMMENT 'IP地址',
  60. `user_agent` varchar(500) DEFAULT '' COMMENT 'User-Agent',
  61. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  62. PRIMARY KEY (`id`),
  63. KEY `idx_user_id` (`user_id`),
  64. KEY `idx_action` (`action`),
  65. KEY `idx_create_time` (`create_time`)
  66. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表';
  67. -- ========================================
  68. -- 初始化数据
  69. -- ========================================
  70. -- 插入默认角色
  71. INSERT INTO `admin_role` (`id`, `name`, `code`, `description`, `permissions`, `is_default`, `sort`, `create_by`) VALUES
  72. (1, '超级管理员', 'ADMIN', '拥有所有权限', '["*"]', 1, 1, 0),
  73. (2, '内容编辑', 'EDITOR', '内容管理权限', '["content:article","content:image","content:page"]', 0, 2, 0),
  74. (3, '审核员', 'AUDITOR', '内容审核权限', '["content:article:view","content:article:audit"]', 0, 3, 0);
  75. -- 插入默认管理员 (密码: admin123, MD5加密)
  76. INSERT INTO `admin_user` (`username`, `password`, `nickname`, `role_id`, `create_by`) VALUES
  77. ('admin', '0192023a7bbd73250516f069df18b500', '超级管理员', 1, 0);