34 lines
1.8 KiB
MySQL
34 lines
1.8 KiB
MySQL
|
|
-- ========================================
|
|||
|
|
-- 宠物模块数据结构优化迁移脚本
|
|||
|
|
-- 执行前请备份相关表数据
|
|||
|
|
-- ========================================
|
|||
|
|
|
|||
|
|
-- 1. 修改 Pet 表:CurrentEvolutionId int → bigint
|
|||
|
|
ALTER TABLE Pet MODIFY COLUMN CurrentEvolutionId BIGINT NOT NULL DEFAULT 0;
|
|||
|
|
|
|||
|
|
-- 2. 修改 PetEvolution 表:PreviousEvolutionId int → bigint, 删除 ImageUrl
|
|||
|
|
ALTER TABLE PetEvolution MODIFY COLUMN PreviousEvolutionId BIGINT NULL;
|
|||
|
|
ALTER TABLE PetEvolution DROP COLUMN ImageUrl;
|
|||
|
|
|
|||
|
|
-- 3. 修改 PetSkin 表:删除 ImageUrl 和 ProductId
|
|||
|
|
ALTER TABLE PetSkin DROP COLUMN ImageUrl;
|
|||
|
|
ALTER TABLE PetSkin DROP COLUMN ProductId;
|
|||
|
|
|
|||
|
|
-- 4. 新建 PetSkinImage 表(每个皮肤在每个进化阶段下有一组有序图片)
|
|||
|
|
CREATE TABLE IF NOT EXISTS PetSkinImage (
|
|||
|
|
Id BIGINT NOT NULL PRIMARY KEY COMMENT '主键(雪花ID)',
|
|||
|
|
SkinId BIGINT NOT NULL COMMENT '皮肤Id,关联PetSkin.Id(0表示默认皮肤)',
|
|||
|
|
EvolutionStageId BIGINT NOT NULL COMMENT '进化阶段Id,关联PetEvolution.Id',
|
|||
|
|
ImageUrl VARCHAR(500) NOT NULL COMMENT '图片地址',
|
|||
|
|
SortOrder INT NOT NULL DEFAULT 0 COMMENT '图片顺序(动画帧序号)',
|
|||
|
|
Type VARCHAR(50) NOT NULL DEFAULT 'Normal' COMMENT '图片类型: Normal, Special',
|
|||
|
|
Status INT NOT NULL DEFAULT 0 COMMENT '基础状态',
|
|||
|
|
IsDeleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '软删除',
|
|||
|
|
CreatedBy VARCHAR(100) NULL COMMENT '创建人',
|
|||
|
|
CreatedAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|||
|
|
UpdatedBy VARCHAR(100) NULL COMMENT '更新人',
|
|||
|
|
UpdatedAt DATETIME NULL COMMENT '更新时间',
|
|||
|
|
INDEX idx_skin_evolution (SkinId, EvolutionStageId),
|
|||
|
|
INDEX idx_sort (SkinId, EvolutionStageId, SortOrder)
|
|||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宠物皮肤图片表';
|