updae
This commit is contained in:
15
README.md
15
README.md
@ -145,13 +145,18 @@ go build -o bin/dbtool ./cmd/dbtool
|
||||
|
||||
### 数据库
|
||||
|
||||
表结构随服务启动由 GORM AutoMigrate 幂等创建(含 pgvector 扩展、去重索引与语义 embedding 表)。跨环境搬运全库数据用 dbtool:
|
||||
表结构**不由服务启动自动创建**:全库「结构 + 索引 + 约束 + 数据」统一由 dbtool 导出的**单个纯 SQL 文件**维护(不依赖 pg_dump)。
|
||||
|
||||
```bash
|
||||
go run ./cmd/dbtool dump -out db_dump.json # 导出当前库
|
||||
go run ./cmd/dbtool import -in db_dump.json # 在目标环境重建并回灌
|
||||
# 导出(源机器)
|
||||
go run ./cmd/dbtool dump -out db/backups/db_dump.sql
|
||||
|
||||
# 导入(目标机器;库须为空,且已启用 pgvector 扩展)
|
||||
psql -U fashion -d fashion -v ON_ERROR_STOP=1 -f db/backups/db_dump.sql
|
||||
```
|
||||
|
||||
目标库若尚未启用 pgvector,导出时加 `-with-extension`,让文件自带 `CREATE EXTENSION IF NOT EXISTS vector`。
|
||||
|
||||
### 优雅关闭
|
||||
|
||||
监听 `SIGINT` / `SIGTERM`,等待在途请求完成(最长 `shutdown_timeout` 秒)后退出,并通知入库 worker 停止领取新任务。
|
||||
@ -165,12 +170,12 @@ backend/
|
||||
├── configs/config.yml # 唯一配置源
|
||||
├── cmd/
|
||||
│ ├── server/ # 组合根:三端口 HTTP + 入库 worker
|
||||
│ ├── dbtool/ # 跨环境数据搬运
|
||||
│ ├── dbtool/ # 全库导出为纯 SQL(结构 + 索引 + 数据)
|
||||
│ └── dbdiag/ # 数据库诊断
|
||||
├── internal/
|
||||
│ ├── config/ # 配置加载
|
||||
│ ├── model/ # 实体(brand / runway / street_snap / user / 草稿 / ingest)
|
||||
│ ├── database/ # 连接池 + AutoMigrate + 去重 schema
|
||||
│ ├── database/ # 连接池(结构由 dbtool 导出的 SQL 维护,不做 DDL)
|
||||
│ ├── repository/ # 数据访问接口 + GORM 实现
|
||||
│ ├── service/ # 业务逻辑
|
||||
│ ├── dto/ # 请求 / 响应结构体
|
||||
|
||||
Reference in New Issue
Block a user