-- 迁移文件: 005_modify_models_columns.sql -- 描述: 修改models表字段:重命名type为category,添加supplier和price字段 -- ============================================ -- 正向迁移: 修改字段 -- ============================================ -- 1. 重命名 type 字段为 category ALTER TABLE aigcspace.models RENAME COLUMN type TO category; -- 更新字段注释 COMMENT ON COLUMN aigcspace.models.category IS '模型分类: 0=语言模型, 1=多模态模型, 2=TTS模型, 3=STT模型, 4=生图模型, 5=生视频模型'; -- 2. 添加 supplier 字段,默认值 'Qwen' ALTER TABLE aigcspace.models ADD COLUMN IF NOT EXISTS supplier VARCHAR(100) DEFAULT 'Qwen' NOT NULL; -- 添加字段注释 COMMENT ON COLUMN aigcspace.models.supplier IS '供应商名称,默认Qwen'; -- 3. 添加 price_id 字段,关联 model_price 表 ALTER TABLE aigcspace.models ADD COLUMN IF NOT EXISTS price_id INTEGER; -- 添加字段注释 COMMENT ON COLUMN aigcspace.models.price_id IS '价格ID,关联model_price表'; -- 4. 添加外键约束 ALTER TABLE aigcspace.models ADD CONSTRAINT fk_models_price_id FOREIGN KEY (price_id) REFERENCES aigcspace.model_price(id) ON DELETE SET NULL; -- 5. 创建索引优化查询 CREATE INDEX IF NOT EXISTS idx_models_supplier ON aigcspace.models(supplier); CREATE INDEX IF NOT EXISTS idx_models_category ON aigcspace.models(category); -- ============================================ -- 回滚迁移: 恢复修改 -- ============================================ -- DROP INDEX IF EXISTS aigcspace.idx_models_supplier; -- DROP INDEX IF EXISTS aigcspace.idx_models_category; -- ALTER TABLE aigcspace.models DROP CONSTRAINT IF EXISTS fk_models_price_id; -- ALTER TABLE aigcspace.models DROP COLUMN IF EXISTS price_id; -- ALTER TABLE aigcspace.models DROP COLUMN IF EXISTS supplier; -- ALTER TABLE aigcspace.models RENAME COLUMN category TO type;