添加字典功能及初始化数据
This commit is contained in:
+32
-1
@@ -1189,6 +1189,7 @@ CREATE TABLE t_user_profile (
|
||||
user_id VARCHAR(64) COMMENT '用户ID (关联t_user.id)',
|
||||
nickname VARCHAR(50) NOT NULL COMMENT '昵称 (必填)',
|
||||
gender VARCHAR(20) DEFAULT 'secret' COMMENT '性别',
|
||||
profession VARCHAR(100) COMMENT '职业',
|
||||
zodiac VARCHAR(20) COMMENT '星座',
|
||||
mbti VARCHAR(20) NOT NULL COMMENT 'MBTI人格类型 (必填)',
|
||||
hobbies JSON COMMENT '兴趣爱好列表',
|
||||
@@ -1384,6 +1385,36 @@ CREATE INDEX idx_life_path_step_order ON t_life_path_step (path_id, step_order);
|
||||
CREATE INDEX idx_life_path_step_status ON t_life_path_step (status);
|
||||
CREATE INDEX idx_life_path_step_is_deleted ON t_life_path_step (is_deleted);
|
||||
|
||||
-- ============================================================================
|
||||
-- 24. 字典表 (t_dictionary)
|
||||
-- 用途:存储基础字段数据,如城市、星座、MBTI人格类型等
|
||||
-- ============================================================================
|
||||
DROP TABLE IF EXISTS t_dictionary;
|
||||
CREATE TABLE t_dictionary (
|
||||
id VARCHAR(64) PRIMARY KEY COMMENT 'UUID主键', -- UUID主键
|
||||
dict_type VARCHAR(50) NOT NULL COMMENT '字典类型 (如: city, constellation, mbti)', -- 字典类型
|
||||
dict_code VARCHAR(100) NOT NULL COMMENT '字典编码', -- 字典编码
|
||||
dict_name VARCHAR(100) NOT NULL COMMENT '字典名称', -- 字典名称
|
||||
dict_value VARCHAR(200) COMMENT '字典值', -- 字典值
|
||||
sort_order INT DEFAULT 0 COMMENT '排序顺序', -- 排序顺序
|
||||
status TINYINT DEFAULT 1 COMMENT '状态: 0-禁用, 1-启用', -- 状态
|
||||
-- 公共字段
|
||||
create_by VARCHAR(64) COMMENT '创建人ID', -- 创建人ID
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', -- 创建时间
|
||||
update_by VARCHAR(64) COMMENT '更新人ID', -- 更新人ID
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', -- 更新时间
|
||||
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-未删除, 1-已删除', -- 是否删除: 0-未删除, 1-已删除
|
||||
remarks VARCHAR(500) COMMENT '备注' -- 备注
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT '字典表 (t_dictionary)';
|
||||
|
||||
-- 提交事务
|
||||
-- t_dictionary表索引
|
||||
CREATE INDEX idx_dictionary_dict_type ON t_dictionary (dict_type);
|
||||
CREATE INDEX idx_dictionary_dict_code ON t_dictionary (dict_code);
|
||||
CREATE INDEX idx_dictionary_dict_type_status ON t_dictionary (dict_type, status);
|
||||
CREATE INDEX idx_dictionary_dict_type_sort_order ON t_dictionary (dict_type, sort_order);
|
||||
CREATE INDEX idx_dictionary_create_time ON t_dictionary (create_time);
|
||||
CREATE INDEX idx_dictionary_is_deleted ON t_dictionary (is_deleted);
|
||||
|
||||
|
||||
-- 鎻愪氦浜嬪姟
|
||||
COMMIT;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
-- 理想生活状态
|
||||
alter table emotion_museum.t_user_profile
|
||||
add ideal_life varchar(100) null comment '理想生活状态';
|
||||
|
||||
-- 职业
|
||||
alter table emotion_museum.t_user_profile
|
||||
add profession varchar(100) null comment '职业';
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
-- ============================================================================
|
||||
-- 初始化字典数据
|
||||
-- 包括:星座数据、MBTI人格类型数据
|
||||
-- ============================================================================
|
||||
|
||||
-- 使用emotion_museum数据库
|
||||
USE emotion_museum;
|
||||
|
||||
-- 设置时间格式
|
||||
SET time_zone = '+00:00';
|
||||
|
||||
-- ============================================================================
|
||||
-- 1. 星座数据初始化
|
||||
-- ============================================================================
|
||||
INSERT INTO t_dictionary (
|
||||
id, dict_type, dict_code, dict_name, dict_value, sort_order, status,
|
||||
create_by, create_time, update_by, update_time, is_deleted, remarks
|
||||
) VALUES
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'aries', '白羊座', '白羊座', 1, 1, 'system', NOW(), 'system', NOW(), 0, '白羊座 (3月21日-4月19日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'taurus', '金牛座', '金牛座', 2, 1, 'system', NOW(), 'system', NOW(), 0, '金牛座 (4月20日-5月20日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'gemini', '双子座', '双子座', 3, 1, 'system', NOW(), 'system', NOW(), 0, '双子座 (5月21日-6月21日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'cancer', '巨蟹座', '巨蟹座', 4, 1, 'system', NOW(), 'system', NOW(), 0, '巨蟹座 (6月22日-7月22日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'leo', '狮子座', '狮子座', 5, 1, 'system', NOW(), 'system', NOW(), 0, '狮子座 (7月23日-8月22日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'virgo', '处女座', '处女座', 6, 1, 'system', NOW(), 'system', NOW(), 0, '处女座 (8月23日-9月22日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'libra', '天秤座', '天秤座', 7, 1, 'system', NOW(), 'system', NOW(), 0, '天秤座 (9月23日-10月23日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'scorpio', '天蝎座', '天蝎座', 8, 1, 'system', NOW(), 'system', NOW(), 0, '天蝎座 (10月24日-11月22日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'sagittarius', '射手座', '射手座', 9, 1, 'system', NOW(), 'system', NOW(), 0, '射手座 (11月23日-12月21日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'capricorn', '摩羯座', '摩羯座', 10, 1, 'system', NOW(), 'system', NOW(), 0, '摩羯座 (12月22日-1月19日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'aquarius', '水瓶座', '水瓶座', 11, 1, 'system', NOW(), 'system', NOW(), 0, '水瓶座 (1月20日-2月18日)'),
|
||||
(REPLACE(UUID(), '-', ''), 'constellation', 'pisces', '双鱼座', '双鱼座', 12, 1, 'system', NOW(), 'system', NOW(), 0, '双鱼座 (2月19日-3月20日)');
|
||||
|
||||
-- ============================================================================
|
||||
-- 2. MBTI人格类型数据初始化
|
||||
-- ============================================================================
|
||||
INSERT INTO t_dictionary (
|
||||
id, dict_type, dict_code, dict_name, dict_value, sort_order, status,
|
||||
create_by, create_time, update_by, update_time, is_deleted, remarks
|
||||
) VALUES
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'istj', 'ISTJ', 'ISTJ-检查员型', 1, 1, 'system', NOW(), 'system', NOW(), 0, '内倾感觉思维判断 - 一丝不苟的检查者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'isfj', 'ISFJ', 'ISFJ-照顾者型', 2, 1, 'system', NOW(), 'system', NOW(), 0, '内倾感觉情感判断 - 忠诚的照顾者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'infj', 'INFJ', 'INFJ-博爱型', 3, 1, 'system', NOW(), 'system', NOW(), 0, '内倾直觉情感判断 - 富有洞察力的博爱者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'intj', 'INTJ', 'INTJ-专家型', 4, 1, 'system', NOW(), 'system', NOW(), 0, '内倾直觉思维判断 - 独立的战略家'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'istp', 'ISTP', 'ISTP-冒险家型', 5, 1, 'system', NOW(), 'system', NOW(), 0, '内倾感觉思维知觉 - 灵活的问题解决者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'isfp', 'ISFP', 'ISFP-艺术家型', 6, 1, 'system', NOW(), 'system', NOW(), 0, '内倾感觉情感知觉 - 敏感的艺术家'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'infp', 'INFP', 'INFP-哲学家型', 7, 1, 'system', NOW(), 'system', NOW(), 0, '内倾直觉情感知觉 - 理想主义的哲学家'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'intp', 'INTP', 'INTP-学者型', 8, 1, 'system', NOW(), 'system', NOW(), 0, '内倾直觉思维知觉 - 好奇的分析师'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'estp', 'ESTP', 'ESTP-挑战者型', 9, 1, 'system', NOW(), 'system', NOW(), 0, '外倾感觉思维知觉 - 大胆的冒险者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'esfp', 'ESFP', 'ESFP-表演者型', 10, 1, 'system', NOW(), 'system', NOW(), 0, '外倾感觉情感知觉 - 热情的表演者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'enfp', 'ENFP', 'ENFP-公关型', 11, 1, 'system', NOW(), 'system', NOW(), 0, '外倾直觉情感知觉 - 充满热情的社交家'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'entp', 'ENTP', 'ENTP-智多星型', 12, 1, 'system', NOW(), 'system', NOW(), 0, '外倾直觉思维知觉 - 机智的辩论家'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'estj', 'ESTJ', 'ESTJ-管家型', 13, 1, 'system', NOW(), 'system', NOW(), 0, '外倾感觉思维判断 - 高效的组织者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'esfj', 'ESFJ', 'ESFJ-主人型', 14, 1, 'system', NOW(), 'system', NOW(), 0, '外倾感觉情感判断 - 热情的主人'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'enfj', 'ENFJ', 'ENFJ-教导型', 15, 1, 'system', NOW(), 'system', NOW(), 0, '外倾直觉情感判断 - 鼓舞人心的领导者'),
|
||||
(REPLACE(UUID(), '-', ''), 'mbti', 'entj', 'ENTJ', 'ENTJ-统帅型', 16, 1, 'system', NOW(), 'system', NOW(), 0, '外倾直觉思维判断 - 果断的指挥官');
|
||||
|
||||
-- ============================================================================
|
||||
-- 3. 性别数据初始化
|
||||
-- ============================================================================
|
||||
INSERT INTO t_dictionary (
|
||||
id, dict_type, dict_code, dict_name, dict_value, sort_order, status,
|
||||
create_by, create_time, update_by, update_time, is_deleted, remarks
|
||||
) VALUES
|
||||
(REPLACE(UUID(), '-', ''), 'gender', 'male', '男', '男', 1, 1, 'system', NOW(), 'system', NOW(), 0, '性别:男'),
|
||||
(REPLACE(UUID(), '-', ''), 'gender', 'female', '女', '女', 2, 1, 'system', NOW(), 'system', NOW(), 0, '性别:女'),
|
||||
(REPLACE(UUID(), '-', ''), 'gender', 'secret', '保密', '保密', 3, 1, 'system', NOW(), 'system', NOW(), 0, '性别:保密'),
|
||||
(REPLACE(UUID(), '-', ''), 'gender', 'other', '其他', '其他', 4, 1, 'system', NOW(), 'system', NOW(), 0, '性别:其他');
|
||||
|
||||
-- ============================================================================
|
||||
-- 初始化完成
|
||||
-- ============================================================================
|
||||
COMMIT;
|
||||
|
||||
SELECT '字典数据初始化完成' AS result;
|
||||
@@ -1,24 +0,0 @@
|
||||
-- ============================================================================
|
||||
-- 迁移脚本: 添加 ideal_life 字段到 t_user_profile 表
|
||||
-- 日期: 2025-12-22
|
||||
-- 描述: 为用户档案表添加理想生活状态字段
|
||||
-- ============================================================================
|
||||
|
||||
-- 检查字段是否存在,不存在则添加
|
||||
SET @dbname = DATABASE();
|
||||
SET @tablename = 't_user_profile';
|
||||
SET @columnname = 'ideal_life';
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
(
|
||||
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = @dbname
|
||||
AND TABLE_NAME = @tablename
|
||||
AND COLUMN_NAME = @columnname
|
||||
) > 0,
|
||||
'SELECT 1',
|
||||
CONCAT('ALTER TABLE ', @tablename, ' ADD COLUMN ', @columnname, ' TEXT COMMENT ''理想生活状态'' AFTER future_vision')
|
||||
));
|
||||
|
||||
PREPARE alterIfNotExists FROM @preparedStatement;
|
||||
EXECUTE alterIfNotExists;
|
||||
DEALLOCATE PREPARE alterIfNotExists;
|
||||
Reference in New Issue
Block a user