1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- -- Active: xiaoding_tes@@192.168.110.85@3306@xiaoding_test
- /* 删除设置相关表 */
- DROP TABLE IF EXISTS `setting_values`;
- DROP TABLE IF EXISTS `setting_permissions`;
- DROP TABLE IF EXISTS `setting_items`;
- DROP TABLE IF EXISTS `setting_groups`;
- /* 创建设置组表 */
- CREATE TABLE `setting_groups` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
- `code` varchar(50) NOT NULL /* 设置组编码 */,
- `name` varchar(50) NOT NULL /* 设置组名称 */,
- `description` varchar(255) DEFAULT NULL /* 设置组描述 */,
- `sort` int NOT NULL DEFAULT 0 /* 排序 */,
- `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
- `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_code` (`code`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci /* 设置组表 */;
- /* 创建设置项表 */
- CREATE TABLE `setting_items` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
- `group_id` bigint unsigned NOT NULL /* 设置组ID */,
- `code` varchar(50) NOT NULL /* 设置项编码 */,
- `name` varchar(50) NOT NULL /* 设置项名称 */,
- `description` varchar(255) DEFAULT NULL /* 设置项描述 */,
- `value_type` varchar(20) NOT NULL /* 值类型:string,number,boolean,json */,
- `default_value` text DEFAULT NULL /* 默认值 */,
- `min_value` decimal(10, 2) DEFAULT NULL /* 最⼩值(数值类型) */,
- `max_value` decimal(10, 2) DEFAULT NULL /* 最⼤值(数值类型) */,
- `options` json DEFAULT NULL /* 可选值(json格式) */,
- `sort` int NOT NULL DEFAULT 0 /* 排序 */,
- `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
- `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_code` (`code`),
- KEY `idx_group_id` (`group_id`),
- CONSTRAINT `fk_setting_items_group_id` FOREIGN KEY (`group_id`) REFERENCES `setting_groups` (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci /* 设置项表 */;
- /* 创建设置权限表 */
- CREATE TABLE `setting_permissions` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
- `item_id` bigint unsigned NOT NULL /* 设置项ID */,
- `object_type` varchar(20) NOT NULL /* 业务对象类型:PLATFORM,AGENT,SHOP,COACH */,
- `can_edit` tinyint(1) NOT NULL DEFAULT 0 /* 是否可编辑 */,
- `min_value` decimal(10, 2) DEFAULT NULL /* 最⼩值限制 */,
- `max_value` decimal(10, 2) DEFAULT NULL /* 最⼤值限制 */,
- `options` json DEFAULT NULL /* 可选值限制 */,
- `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
- `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_item_object` (`item_id`, `object_type`),
- KEY `idx_item_id` (`item_id`),
- CONSTRAINT `fk_setting_permissions_item_id` FOREIGN KEY (`item_id`) REFERENCES `setting_items` (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci /* 设置权限表 */;
- /* 创建设置值表 */
- CREATE TABLE `setting_values` (
- `id` bigint unsigned NOT NULL AUTO_INCREMENT /* 主键ID */,
- `item_id` bigint unsigned NOT NULL /* 设置项ID */,
- `object_type` varchar(20) NOT NULL /* 业务对象类型:PLATFORM,AGENT,SHOP,COACH */,
- `object_id` bigint unsigned NOT NULL /* 业务对象ID */,
- `value` text NOT NULL /* 设置值 */,
- `created_at` timestamp NULL DEFAULT NULL /* 创建时间 */,
- `updated_at` timestamp NULL DEFAULT NULL /* 更新时间 */,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_item_object` (
- `item_id`,
- `object_type`,
- `object_id`
- ),
- KEY `idx_object` (`object_type`, `object_id`),
- CONSTRAINT `fk_setting_values_item_id` FOREIGN KEY (`item_id`) REFERENCES `setting_items` (`id`)
- ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci /* 设置值表 */;
|