001_init.sql 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. -- ajyy 初始化 DDL(MySQL 5.7+ / utf8mb4)对照文档
  2. -- 与 SQLAlchemy ORM 模型对齐;生产可用 Alembic 或手动执行。
  3. SET NAMES utf8mb4;
  4. SET FOREIGN_KEY_CHECKS = 0;
  5. CREATE TABLE IF NOT EXISTS `sys_role` (
  6. `id` varchar(64) NOT NULL,
  7. `role_code` varchar(64) NOT NULL,
  8. `role_name` varchar(64) NOT NULL,
  9. `remark` varchar(255) DEFAULT NULL,
  10. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  11. `create_time` datetime DEFAULT NULL,
  12. `update_time` datetime DEFAULT NULL,
  13. `create_by` varchar(64) DEFAULT NULL,
  14. `update_by` varchar(64) DEFAULT NULL,
  15. PRIMARY KEY (`id`),
  16. UNIQUE KEY `uk_sys_role_code` (`role_code`)
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  18. CREATE TABLE IF NOT EXISTS `sys_user` (
  19. `id` varchar(64) NOT NULL,
  20. `username` varchar(64) NOT NULL,
  21. `password_hash` varchar(255) NOT NULL,
  22. `display_name` varchar(64) NOT NULL DEFAULT '',
  23. `role_id` varchar(64) NOT NULL,
  24. `status` varchar(1) NOT NULL DEFAULT '0' COMMENT '0启用 1停用',
  25. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  26. `create_time` datetime DEFAULT NULL,
  27. `update_time` datetime DEFAULT NULL,
  28. `create_by` varchar(64) DEFAULT NULL,
  29. `update_by` varchar(64) DEFAULT NULL,
  30. PRIMARY KEY (`id`),
  31. UNIQUE KEY `uk_sys_user_username` (`username`),
  32. KEY `idx_sys_user_role` (`role_id`)
  33. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  34. CREATE TABLE IF NOT EXISTS `sys_menu` (
  35. `id` varchar(64) NOT NULL,
  36. `parent_id` varchar(64) NOT NULL DEFAULT '0',
  37. `menu_code` varchar(64) NOT NULL,
  38. `menu_name` varchar(64) NOT NULL,
  39. `path` varchar(255) DEFAULT '',
  40. `menu_type` varchar(1) NOT NULL COMMENT 'M目录 C菜单 F按钮',
  41. `sort` int NOT NULL DEFAULT 0,
  42. `visible` varchar(1) NOT NULL DEFAULT '1',
  43. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  44. `create_time` datetime DEFAULT NULL,
  45. `update_time` datetime DEFAULT NULL,
  46. `create_by` varchar(64) DEFAULT NULL,
  47. `update_by` varchar(64) DEFAULT NULL,
  48. PRIMARY KEY (`id`),
  49. UNIQUE KEY `uk_sys_menu_code` (`menu_code`),
  50. KEY `idx_sys_menu_parent` (`parent_id`)
  51. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  52. CREATE TABLE IF NOT EXISTS `sys_role_menu` (
  53. `id` varchar(64) NOT NULL,
  54. `role_id` varchar(64) NOT NULL,
  55. `menu_id` varchar(64) NOT NULL,
  56. PRIMARY KEY (`id`),
  57. KEY `idx_srm_role` (`role_id`),
  58. KEY `idx_srm_menu` (`menu_id`)
  59. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  60. CREATE TABLE IF NOT EXISTS `feedback` (
  61. `id` varchar(64) NOT NULL,
  62. `biz_no` varchar(64) NOT NULL,
  63. `fb_type` varchar(16) NOT NULL COMMENT '投诉|表扬',
  64. `target_name` varchar(64) DEFAULT NULL,
  65. `target_dept` varchar(128) DEFAULT NULL,
  66. `target_post` varchar(64) DEFAULT NULL,
  67. `content` text NOT NULL,
  68. `reporter_name` varchar(64) DEFAULT NULL,
  69. `reporter_unit` varchar(128) DEFAULT NULL,
  70. `reporter_post` varchar(64) DEFAULT NULL,
  71. `reporter_phone` varchar(32) DEFAULT NULL,
  72. `attachments` json DEFAULT NULL,
  73. `status` varchar(16) NOT NULL DEFAULT '待处理' COMMENT '待处理|处理中|已办结',
  74. `handle_remark` text,
  75. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  76. `create_time` datetime DEFAULT NULL,
  77. `update_time` datetime DEFAULT NULL,
  78. `create_by` varchar(64) DEFAULT NULL,
  79. `update_by` varchar(64) DEFAULT NULL,
  80. PRIMARY KEY (`id`),
  81. UNIQUE KEY `uk_feedback_biz_no` (`biz_no`)
  82. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  83. CREATE TABLE IF NOT EXISTS `suggestion` (
  84. `id` varchar(64) NOT NULL,
  85. `biz_no` varchar(64) NOT NULL,
  86. `content` text NOT NULL,
  87. `contact_name` varchar(64) DEFAULT NULL,
  88. `contact_unit` varchar(128) DEFAULT NULL,
  89. `contact_post` varchar(64) DEFAULT NULL,
  90. `contact_phone` varchar(32) DEFAULT NULL,
  91. `attachments` json DEFAULT NULL,
  92. `status` varchar(16) NOT NULL DEFAULT '待查阅' COMMENT '待查阅|已采纳|已回复',
  93. `handle_remark` text,
  94. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  95. `create_time` datetime DEFAULT NULL,
  96. `update_time` datetime DEFAULT NULL,
  97. `create_by` varchar(64) DEFAULT NULL,
  98. `update_by` varchar(64) DEFAULT NULL,
  99. PRIMARY KEY (`id`),
  100. UNIQUE KEY `uk_suggestion_biz_no` (`biz_no`)
  101. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  102. CREATE TABLE IF NOT EXISTS `hotline_config` (
  103. `id` varchar(64) NOT NULL,
  104. `phone` varchar(512) DEFAULT '',
  105. `email` varchar(512) DEFAULT '',
  106. `address` varchar(1024) DEFAULT '',
  107. `work_time` varchar(255) DEFAULT '',
  108. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  109. `create_time` datetime DEFAULT NULL,
  110. `update_time` datetime DEFAULT NULL,
  111. `create_by` varchar(64) DEFAULT NULL,
  112. `update_by` varchar(64) DEFAULT NULL,
  113. PRIMARY KEY (`id`)
  114. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  115. CREATE TABLE IF NOT EXISTS `qrcode_config` (
  116. `id` varchar(64) NOT NULL,
  117. `land_url` varchar(512) DEFAULT '',
  118. `title` varchar(128) DEFAULT '',
  119. `image_url` varchar(512) DEFAULT '',
  120. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  121. `create_time` datetime DEFAULT NULL,
  122. `update_time` datetime DEFAULT NULL,
  123. `create_by` varchar(64) DEFAULT NULL,
  124. `update_by` varchar(64) DEFAULT NULL,
  125. PRIMARY KEY (`id`)
  126. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  127. CREATE TABLE IF NOT EXISTS `attachment` (
  128. `id` varchar(64) NOT NULL,
  129. `file_name` varchar(255) NOT NULL,
  130. `object_key` varchar(512) NOT NULL,
  131. `url` varchar(512) NOT NULL,
  132. `size` int DEFAULT 0,
  133. `biz_type` varchar(32) DEFAULT NULL,
  134. `biz_id` varchar(64) DEFAULT NULL,
  135. `del_flag` varchar(1) NOT NULL DEFAULT '0',
  136. `create_time` datetime DEFAULT NULL,
  137. `update_time` datetime DEFAULT NULL,
  138. `create_by` varchar(64) DEFAULT NULL,
  139. `update_by` varchar(64) DEFAULT NULL,
  140. PRIMARY KEY (`id`),
  141. KEY `idx_attachment_biz` (`biz_id`)
  142. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  143. CREATE TABLE IF NOT EXISTS `oper_log` (
  144. `id` varchar(64) NOT NULL,
  145. `user_id` varchar(64) DEFAULT NULL,
  146. `username` varchar(64) DEFAULT NULL,
  147. `module` varchar(64) DEFAULT NULL,
  148. `action` varchar(64) DEFAULT NULL,
  149. `detail` text,
  150. `ip` varchar(64) DEFAULT NULL,
  151. `create_time` datetime DEFAULT NULL,
  152. PRIMARY KEY (`id`),
  153. KEY `idx_oper_log_user` (`user_id`)
  154. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  155. SET FOREIGN_KEY_CHECKS = 1;