001_create_models_table.sql 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. -- 迁移文件: 001_create_models_table.sql
  2. -- 描述: 创建AI模型信息表
  3. -- 需求: 9.1, 9.2, 9.3, 9.4
  4. -- ============================================
  5. -- 正向迁移: 创建表和索引
  6. -- ============================================
  7. -- 创建models表
  8. CREATE TABLE IF NOT EXISTS models (
  9. id SERIAL PRIMARY KEY,
  10. title VARCHAR(255) NOT NULL UNIQUE,
  11. img TEXT NOT NULL,
  12. name TEXT NOT NULL,
  13. tag1 VARCHAR(100),
  14. description TEXT,
  15. keyword TEXT,
  16. time VARCHAR(50),
  17. tag2 VARCHAR(100),
  18. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
  19. updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
  20. );
  21. -- 添加表注释
  22. COMMENT ON TABLE models IS 'AI模型信息表';
  23. COMMENT ON COLUMN models.id IS '主键ID';
  24. COMMENT ON COLUMN models.title IS '模型标识(唯一)';
  25. COMMENT ON COLUMN models.img IS '图标URL';
  26. COMMENT ON COLUMN models.name IS '显示名称';
  27. COMMENT ON COLUMN models.tag1 IS '主标签';
  28. COMMENT ON COLUMN models.description IS '模型描述';
  29. COMMENT ON COLUMN models.keyword IS '关键词(用于搜索)';
  30. COMMENT ON COLUMN models.time IS '发布时间';
  31. COMMENT ON COLUMN models.tag2 IS '次要标签';
  32. COMMENT ON COLUMN models.created_at IS '创建时间';
  33. COMMENT ON COLUMN models.updated_at IS '更新时间';
  34. -- 创建keyword索引(优化搜索性能)
  35. CREATE INDEX IF NOT EXISTS idx_models_keyword ON models(keyword);
  36. -- ============================================
  37. -- 回滚迁移: 删除表和索引
  38. -- ============================================
  39. -- DROP INDEX IF EXISTS idx_models_keyword;
  40. -- DROP TABLE IF EXISTS models;