You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.7 KiB

Project 服务数据库初始化文档补充完成

日期: 2026-02-03
类型: 文档补充
影响范围: Project 服务数据库设计文档


变更概述

补充完成 docs/requirements/backend/04-services/project/database-init.md 文档的缺失章节,使其成为完整的数据库初始化设计文档。


补充内容

1. 关联关系章节

  • 16 张表的完整关联图
  • 跨服务关联表(User、Resource、AI 服务)
  • 应用层验证规则(6 大类验证)

2. 初始化脚本章节

  • 17 个完整的 SQL 建表语句
    • folders, folder_members
    • projects, project_members, project_shares, project_versions
    • screenplays, screenplay_versions, screenplay_characters, screenplay_locations, screenplay_props, screenplay_element_tags
    • storyboards, storyboard_items, storyboard_resources
    • project_resources
    • 触发器函数
  • 索引创建语句(包含 pg_trgm 全文搜索索引)
  • 约束和触发器定义
  • 表注释和字段注释
  • Docker 容器化执行顺序

3. 迁移建议章节

  • Alembic 迁移流程
  • 数据迁移 3 阶段(结构 → 数据 → 验证)
  • 性能优化建议(索引优化、查询优化、分区策略)
  • 数据完整性检查 SQL
  • 监控和维护任务
  • 回滚计划

4. 附录

  • Python IntEnum 枚举定义(11 个枚举类)
  • SQLModel 模型示例(Folder、Project)
  • 常见问题 FAQ(6 个问题)
  • 文档变更历史

技术栈符合性

所有补充内容 100% 符合 jointo-tech-stack 规范:

  • PostgreSQL 17
  • UUID v7 主键
  • TIMESTAMPTZ 时间字段
  • SMALLINT + IntEnum 枚举
  • 禁止物理外键
  • 应用层验证
  • Docker 容器化执行
  • snake_case 命名

文档结构

project/database-init.md (完整版)
├── 1. 技术栈符合性检查
├── 2. 数据库设计标准化
├── 3. 表结构定义(16 张表)
├── 4. 关联关系 ✨ 新增
├── 5. 初始化脚本 ✨ 新增
├── 6. 迁移建议 ✨ 新增
└── 附录 ✨ 新增

相关文件

  • docs/requirements/backend/04-services/project/database-init.md - 主文档(已补充完整)
  • docs/requirements/backend/04-services/database-init-overview.md - 总览文档
  • docs/requirements/backend/04-services/README.md - 导航文档

后续建议

  1. 代码实现:基于本文档创建 SQLModel 模型和 Alembic 迁移脚本
  2. Repository 层:实现应用层引用完整性验证
  3. Service 层:实现业务逻辑和跨服务调用
  4. 测试:编写数据库集成测试

补充完成时间: 2026-02-03
文档版本: v1.0 → v1.1 (完整版)