Client 还没有 SQLite 初始化代码。程序无法按数据模型基线创建本地数据库,也没有迁移版本、连接参数和可重复执行的初始化测试。
client/src/db.py
client/src/db_schema.py
pdd_tasks
task_runs
outbox_events
app_settings
PRAGMA user_version
client/test/test_db.py
client/data/client.db
sqlite3
unittest
db.py
db_schema.py
user_version
docs/client/03-data-model.md
TemporaryDirectory
预计修改:
git diff --check
从 client/ 执行:
client/
C:/Python310/python.exe -m py_compile src/db.py src/db_schema.py test/test_db.py C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
状态:进行中。按用户确认采用 client/src 扁平代码文件、client/test 测试目录,并优先保证初级程序员容易理解和维护。
client/src
client/test
src/db.py
src/db_schema.py
test/test_db.py
验证:语法检查通过;6 个 unittest 全部通过;git diff --check 通过。
实现提交:69f0812。归档提交:d64ebef。本地归档:docs/task/7-实现-sqlite-初始化与-v1-迁移.md。
69f0812
d64ebef
docs/task/7-实现-sqlite-初始化与-v1-迁移.md
工单保持打开,等待用户验收。后续任务再定义 Python 任务模型和 Repository。
用户已确认验收通过。本工单完成,现关闭。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
Client 还没有 SQLite 初始化代码。程序无法按数据模型基线创建本地数据库,也没有迁移版本、连接参数和可重复执行的初始化测试。
做什么 / 不做什么
client/src/db.py实现数据目录、数据库连接和初始化入口;client/src/db_schema.py定义 v1 建表迁移;pdd_tasks、task_runs、outbox_events、app_settings四张表及索引;PRAGMA user_version管理迁移;client/test/test_db.py使用临时数据库验证。client/data/client.db;怎么做
sqlite3和unittest。db.py提供直白函数:获取数据目录、取得默认数据库路径、打开连接、初始化数据库。db_schema.py使用按版本排列的 SQL 语句元组;迁移逐版本在事务中执行,成功后更新user_version。docs/client/03-data-model.md。TemporaryDirectory,保证重复运行且不污染真实数据。预计修改:
client/src/db.pyclient/src/db_schema.pyclient/test/test_db.py验收标准
PRAGMA user_version初始化为 1;git diff --check通过。怎么验证
从
client/执行:状态:进行中。按用户确认采用
client/src扁平代码文件、client/test测试目录,并优先保证初级程序员容易理解和维护。实施完成,等待用户验收
src/db.py:数据目录、默认路径、独立连接和顺序迁移;src/db_schema.py:v1 四张表、CHECK/外键约束及索引;test/test_db.py:全部使用临时数据库;client/data/client.db。验证:语法检查通过;6 个 unittest 全部通过;
git diff --check通过。实现提交:
69f0812。归档提交:d64ebef。本地归档:docs/task/7-实现-sqlite-初始化与-v1-迁移.md。工单保持打开,等待用户验收。后续任务再定义 Python 任务模型和 Repository。
用户已确认验收通过。本工单完成,现关闭。