# 数据库初始化脚本 ## 脚本路径 ```text scripts/setup_database.php ``` ## 脚本作用 初始化或升级 Proof DB 使用的 PostgreSQL 结构。 当前版本会确保: - `archives` 表存在。 - `chunks` 表存在。 - `archives.content` 与 `archives.raw` 冗余列会被移除。 - 档案与 chunk 的常用索引存在。 - embedding / search index 相关状态字段存在。 - `updated_time` 自动更新时间触发器存在。 ## 运行前提 - 当前环境中的 PostgreSQL 配置可用。 - 项目依赖已安装完成。 - 从项目根目录执行命令。 ## 运行命令 ```bash php scripts/setup_database.php ``` ## 成功输出示例 ```text Database connection ok: postgre Tables initialized: archives, chunks ``` ## 适用场景 - 首次部署环境。 - 拉取了数据库结构相关代码后同步 schema。 - 新增了状态字段、索引或 trigger 后补齐现有数据库。 ## 常见失败信号 - `PDOException` 说明数据库地址、账号密码、网络或 DNS 有问题。 - SQL 执行错误 说明权限不足,或者现有 schema 与代码预期不一致。