03-数据文件
SQLite 数据库文件存放目录。数据库文件不进版本库,通过建表脚本与数据更新脚本生成。
文件结构
数据库文件与备份目录均不进版本库,避免二进制文件污染 git 历史。版本管理通过以下方式保证可重建:
- 建表脚本
db.py进版本库,schema 变更有据可查 - 数据更新脚本
fetcher_*.py进版本库,获取逻辑可复现 requirements.txt锁定 akshare 版本,保证接口一致性
生成方式
数据库文件生成在 05-数据库/03-数据文件/trend_invest.db。
查看数据库内容
命令行方式
SQLite 客户端
使用 DB Browser for SQLite、DBeaver、TablePlus 等工具打开 trend_invest.db 文件,直接查询。
Python 查询
参考 04-查询接口/ 下的查询模板,通过 db.py 的 get_connection 获取连接后执行 SQL。
备份策略
- 自动备份:
update_all.py --mode full或--backup时触发 - 保留策略:最近 30 天的备份
- 存储位置:
backups/trend_invest_YYYYMMDD_HHMMSS.db - 回滚方式:关闭所有连接 -> 用备份覆盖
trend_invest.db-> 重启
迁移与共享
数据库文件不进 git,共享方式:
- 导出 SQL dump:
sqlite3 trend_invest.db .dump > trend_invest_YYYYMM.sql,dump 文件可进 git - 导出 CSV 样本:按需导出某张表的样本数据,供他人验证分析逻辑
- 全量重建:他人 clone 仓库后,运行
db.py+update_all.py --mode full生成完整数据库
由于 akshare 接口可能随时间变化,全量重建的时间点不同,数据可能有差异。分析结论应以本地库为准,并标注数据快照时间。
容量监控
当前数据量预估 50-80MB,详见 01-数据方案设计/01-数据库选型说明 的容量预估表。
定期检查数据库大小:
超过 500MB 时考虑清理历史数据(如只保留近 5 年)或迁移到 DuckDB。