025_update_video_model_config_model_id.sql 940 B

12345678910111213141516171819202122232425
  1. -- 修改video_model_config表的model_id字段
  2. -- 将model_id从varchar改为integer,并关联models表
  3. -- 1. 添加新的整数类型列
  4. ALTER TABLE aigcspace.video_model_config ADD COLUMN models_id INTEGER;
  5. -- 2. 根据model_name更新models_id(关联models表)
  6. UPDATE aigcspace.video_model_config vmc
  7. SET models_id = m.id
  8. FROM aigcspace.models m
  9. WHERE vmc.model_name = m.title;
  10. -- 3. 为没有匹配到的记录,尝试用name字段匹配
  11. UPDATE aigcspace.video_model_config vmc
  12. SET models_id = m.id
  13. FROM aigcspace.models m
  14. WHERE vmc.model_name = m.name AND vmc.models_id IS NULL;
  15. -- 4. 添加外键约束(可选,如果需要强制关联)
  16. -- ALTER TABLE aigcspace.video_model_config
  17. -- ADD CONSTRAINT fk_video_model_config_models_id
  18. -- FOREIGN KEY (models_id) REFERENCES aigcspace.models(id);
  19. -- 5. 创建索引
  20. CREATE INDEX IF NOT EXISTS idx_video_model_config_models_id ON aigcspace.video_model_config(models_id);