从零打造 AI 小说创作平台(四):项目与章节管理系列:从零打造 AI 小说创作平台 NovelForge篇章:第 4 篇 / 共 10 篇关键词:CRUD、自动保存、软删除、章节排序、字数统计前言项目管理是连接用户认证和 AI 创作流水线的桥梁。这个模块看似简单(就是 CRUD),但有几个值得深入的设计点:自动保存的防抖策略、章节排序的事务安全、软删除机制、字数统计算法。一、数据模型projects 表CREATETABLEprojects(id UUIDPRIMARYKEY,user_id UUIDNOTNULLREFERENCESusers(id)ONDELETECASCADE,titleVARCHAR(100)NOTNULL,descriptionTEXT,genreVARCHAR(20)DEFAULT'other',world_setting_summaryTEXT,cover_imageTEXT,created_at TIMESTAMPTZNOTNULL,updated_at TIMESTAMPTZNOTNULL,deleted_at TIMESTAMPTZ-- 软删除);chapters 表CREATETABLEchapters(id UUIDPRIMARYKEY,project_id UUIDNOTNULLREFERENCESprojects(id)ONDELETECASCADE,titleVARCHAR(100),contentTEXT,"order"INTEGERNOTNULL,word_countINTEGERNOTNULLDEFAULT0,created_at TIMESTAMPTZNOTNULL,updated_at TIMESTAMPTZNOTNULL,deleted_at TIMESTAMPTZ
从零打造 AI 小说创作平台(四):项目与章节管理
从零打造 AI 小说创作平台(四):项目与章节管理系列:从零打造 AI 小说创作平台 NovelForge篇章:第 4 篇 / 共 10 篇关键词:CRUD、自动保存、软删除、章节排序、字数统计前言项目管理是连接用户认证和 AI 创作流水线的桥梁。这个模块看似简单(就是 CRUD),但有几个值得深入的设计点:自动保存的防抖策略、章节排序的事务安全、软删除机制、字数统计算法。一、数据模型projects 表CREATETABLEprojects(id UUIDPRIMARYKEY,user_id UUIDNOTNULLREFERENCESusers(id)ONDELETECASCADE,titleVARCHAR(100)NOTNULL,descriptionTEXT,genreVARCHAR(20)DEFAULT'other',world_setting_summaryTEXT,cover_imageTEXT,created_at TIMESTAMPTZNOTNULL,updated_at TIMESTAMPTZNOTNULL,deleted_at TIMESTAMPTZ-- 软删除);chapters 表CREATETABLEchapters(id UUIDPRIMARYKEY,project_id UUIDNOTNULLREFERENCESprojects(id)ONDELETECASCADE,titleVARCHAR(100),contentTEXT,"order"INTEGERNOTNULL,word_countINTEGERNOTNULLDEFAULT0,created_at TIMESTAMPTZNOTNULL,updated_at TIMESTAMPTZNOTNULL,deleted_at TIMESTAMPTZ