feat(lyra): 接入 PostgreSQL 与 Goose 迁移
- 使用 pgx/sqlx 建立连接,从环境变量读取数据库密码 - 添加本地 PostgreSQL Compose 配置与初始迁移 - 补充 Goose 操作手册和连接串排错说明
This commit is contained in:
@@ -1,7 +1,21 @@
|
||||
# migrations
|
||||
|
||||
未来存放 [Goose](https://pressly.github.io/goose/) SQL 迁移文件的目录。
|
||||
Lyra 的 [Goose](https://pressly.github.io/goose/) SQL 迁移目录,是数据库结构的**唯一正式执行来源**。
|
||||
[docs/demo.sql](../docs/demo.sql) 仅保留作参考,不要再手工执行它,避免与迁移重复建表。
|
||||
|
||||
当前没有任何迁移文件;首个迁移的文件名与写法随实现确定。部署执行入口、
|
||||
并发控制(串行执行或数据库锁)与 schema 划分方案尚未确定,见
|
||||
[../docs/architecture.md](../docs/architecture.md) 的"尚未确定"部分。
|
||||
## 操作手册
|
||||
|
||||
安装 goose CLI、配置 `.env.local` 连接、首次初始化、日常新增迁移、回滚警告与
|
||||
故障排查等全部操作步骤,见唯一完整手册:[docs/goose.md](../docs/goose.md)。
|
||||
|
||||
## 现有迁移
|
||||
|
||||
| 文件 | 内容 |
|
||||
|---|---|
|
||||
| `00001_init.sql` | 初始结构:`set_updated_at()` 函数、`users`/`categories`/`links` 三张表、约束、注释、索引与触发器,建库内容与 `docs/demo.sql` 一致 |
|
||||
|
||||
## 执行模型约定
|
||||
|
||||
- 迁移只作用于 `public` schema,沿用现有设计,暂不做 schema 划分。
|
||||
- 单个操作者串行执行,不引入数据库锁等并发控制。
|
||||
- 部署执行入口是手工 CLI,服务启动时**不会**自动执行迁移。
|
||||
|
||||
Reference in New Issue
Block a user