007_modify_models_columns.sql 1.9 KB

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