时间字段改由业务层生成并传入
This commit is contained in:
18
AGENTS.md
18
AGENTS.md
@@ -162,7 +162,19 @@ OK
|
||||
struct ApiResponse<T> { success: bool, message: String, data: Option<T> }
|
||||
```
|
||||
|
||||
### 2. 环境变量
|
||||
### 3. 时间字段约定
|
||||
|
||||
所有表中的 `createdate` 和 `modifydate` **必须由业务层生成并传入**,数据库Schema中**不设置** `DEFAULT CURRENT_TIMESTAMP`,也不使用触发器自动更新。
|
||||
|
||||
- 建表时:
|
||||
```sql
|
||||
createdate TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
modifydate TIMESTAMP WITH TIME ZONE NOT NULL
|
||||
```
|
||||
- Rust 代码中使用 `chrono::Utc::now()` 生成时间戳,统一在事务开始前创建 `let now = Utc::now();`,确保同一笔业务中各表时间一致。
|
||||
- `modifydate` 更新时同样需要在业务代码中显式传入 `Utc::now()`。
|
||||
|
||||
### 4. 环境变量
|
||||
|
||||
所有服务通过环境变量读取配置:
|
||||
- `DATABASE_URL` — PostgreSQL 连接串(必需)
|
||||
@@ -171,13 +183,13 @@ OK
|
||||
- `JWT_SECRET` — JWT 签名密钥
|
||||
- `RUST_LOG` — 日志级别
|
||||
|
||||
### 3. Docker 构建
|
||||
### 5. Docker 构建
|
||||
|
||||
- 各微服务 Dockerfile 的构建上下文为**项目根目录**(`docker-compose.yml` 中使用 `context: ../..`)。
|
||||
- 构建采用多阶段(builder + runtime),基于 `rust:1.94.1-alpine3.23` 编译,最终运行在 `alpine:3.23`。
|
||||
- 共享代码更新时,需确保 `shared/` 目录在 Dockerfile 中被正确复制。
|
||||
|
||||
### 4. 网关与路由
|
||||
### 6. 网关与路由
|
||||
|
||||
- Nginx 监听 80/443,开发环境使用自签名证书。
|
||||
- 路由前缀约定:
|
||||
|
||||
Reference in New Issue
Block a user