feat(docs): 完善达梦数据库支持文档
- 更新 .gitignore 文件,添加对 .sql 文件的忽略 - 移除 cache_db.go 中的调试日志相关代码,简化缓存操作逻辑 - 在多个文档中添加达梦 DM8 数据库的支持信息,包括配置、使用注意事项及示例 - 更新 QUICKSTART.md,明确支持的数据库类型及配置示例 - 在 ROADMAP.md 中记录达梦数据库完整支持的进展
This commit is contained in:
@@ -191,6 +191,7 @@ SELECT * FROM org WHERE parent_ids LIKE '%,3,%' -- 查询id=3的所有子级
|
||||
| MySQL | datetime | `2024-01-15 10:30:00` |
|
||||
| SQLite | TEXT | `2024-01-15 10:30:00` |
|
||||
| PostgreSQL | timestamp | `2024-01-15 10:30:00` |
|
||||
| 达梦 DM8 | TIMESTAMP | `2024-01-15 10:30:00` |
|
||||
|
||||
---
|
||||
|
||||
@@ -324,6 +325,14 @@ SQLite 不支持字段备注(COMMENT),代码生成器会使用字段名作
|
||||
"modify_time" TIMESTAMP DEFAULT NULL, -- 变更时间
|
||||
```
|
||||
|
||||
### 达梦 DM8
|
||||
|
||||
```sql
|
||||
"state" INT DEFAULT 0, -- 状态:0-正常,1-异常,2-隐藏
|
||||
"create_time" TIMESTAMP DEFAULT NULL, -- 创建日期
|
||||
"modify_time" TIMESTAMP DEFAULT NULL, -- 变更时间
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 完整建表示例
|
||||
@@ -392,6 +401,56 @@ CREATE TABLE "user" (
|
||||
);
|
||||
```
|
||||
|
||||
### 达梦 DM8 示例
|
||||
|
||||
达梦建表有以下关键差异:
|
||||
- 自增主键使用 `IDENTITY(1,1)`(对应 MySQL 的 `AUTO_INCREMENT`)
|
||||
- 长文本使用 `CLOB`(对应 MySQL 的 `LONGTEXT`)
|
||||
- 标识符建议用**双引号包裹小写名称**,与框架保持一致
|
||||
- `admin`、`user`、`order` 等是 DM 保留字,必须加双引号
|
||||
|
||||
```sql
|
||||
-- 用户表
|
||||
CREATE TABLE "user" (
|
||||
"id" INT IDENTITY(1,1) PRIMARY KEY,
|
||||
"name" VARCHAR(50) DEFAULT NULL,
|
||||
"phone" VARCHAR(20) DEFAULT NULL,
|
||||
"password" VARCHAR(64) DEFAULT NULL,
|
||||
"org_id" INT DEFAULT NULL,
|
||||
"role_id" INT DEFAULT NULL,
|
||||
"avatar" VARCHAR(255) DEFAULT NULL,
|
||||
"sex" INT DEFAULT 0,
|
||||
"state" INT DEFAULT 0,
|
||||
"create_time" TIMESTAMP DEFAULT NULL,
|
||||
"modify_time" TIMESTAMP DEFAULT NULL
|
||||
);
|
||||
|
||||
-- 组织表(树形结构)
|
||||
CREATE TABLE "org" (
|
||||
"id" INT IDENTITY(1,1) PRIMARY KEY,
|
||||
"name" VARCHAR(100) DEFAULT NULL,
|
||||
"parent_id" INT DEFAULT NULL,
|
||||
"parent_ids" VARCHAR(255) DEFAULT NULL,
|
||||
"level" INT DEFAULT 0,
|
||||
"sort" INT DEFAULT 0,
|
||||
"state" INT DEFAULT 0,
|
||||
"create_time" TIMESTAMP DEFAULT NULL,
|
||||
"modify_time" TIMESTAMP DEFAULT NULL
|
||||
);
|
||||
|
||||
-- 用户组织关联表
|
||||
CREATE TABLE "user_org" (
|
||||
"id" INT IDENTITY(1,1) PRIMARY KEY,
|
||||
"user_id" INT DEFAULT NULL,
|
||||
"org_id" INT DEFAULT NULL,
|
||||
"state" INT DEFAULT 0,
|
||||
"create_time" TIMESTAMP DEFAULT NULL,
|
||||
"modify_time" TIMESTAMP DEFAULT NULL
|
||||
);
|
||||
```
|
||||
|
||||
> **注意**:达梦中 DDL 的表名/列名大小写敏感(双引号包裹时),建议统一使用小写,与框架自动生成的 SQL 保持一致。
|
||||
|
||||
---
|
||||
|
||||
## 规范检查清单
|
||||
@@ -406,3 +465,11 @@ CREATE TABLE "user" (
|
||||
- [ ] 树形表包含 parent_id、parent_ids、level
|
||||
- [ ] 所有表包含 state、create_time、modify_time
|
||||
- [ ] 选择字段注释格式正确(`标签:值-名称`)
|
||||
|
||||
### 达梦 DM8 额外检查项
|
||||
|
||||
- [ ] 建表时标识符使用**双引号包裹小写名称**(如 `"user"`、`"id"`)
|
||||
- [ ] 保留字(`admin`、`user`、`order`、`key` 等)必须加双引号
|
||||
- [ ] 自增主键使用 `IDENTITY(1,1)` 而非 `AUTO_INCREMENT`
|
||||
- [ ] 长文本字段使用 `CLOB` 而非 `LONGTEXT`
|
||||
- [ ] 检测表是否存在时用 `COUNT(*)` 查询,不用 `USER_TABLES`(存在 schema 错配问题)
|
||||
|
||||
Reference in New Issue
Block a user