简介 #
CRUD 模板对数据库表结构有一定规范要求,推荐使用 MySQL 作为目标数据库。本文档提供 MySQL、SQLite3、PostgreSQL、Oracle、SQL Server 五种数据库的建表参考,包含主键、自增、时间戳、更新人等标准字段定义。
| 必含字段 | 说明 |
|---|---|
id |
主键,自增 |
tid |
租户 ID(多租户场景) |
create_time |
创建时间 |
update_time |
更新时间 |
updater |
更新人(通过 $username 自动填充) |
-- sqlite3
CREATE TABLE work_order (
id INTEGER PRIMARY KEY AUTOINCREMENT,
工单号 TEXT UNIQUE,
工单类型 TEXT,
工单数量 INTEGER,
create_time DATETIME DEFAULT (datetime('now', 'localtime')),
update_time DATETIME DEFAULT (datetime('now', 'localtime')),
updater TEXT
);
-- postgreSQL
CREATE TABLE work_order (
id SERIAL PRIMARY KEY,
"工单号" VARCHAR(50) UNIQUE,
"工单类型" VARCHAR(50),
"工单数量" INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updater VARCHAR(50)
);
COMMENT ON TABLE work_order IS '工单';
COMMENT ON COLUMN work_order.updater IS '更新人';
-- oracle
CREATE TABLE work_order (
id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
"工单号" VARCHAR2(50) UNIQUE,
"工单类型" VARCHAR2(50),
"工单数量" NUMBER(10),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updater VARCHAR2(50)
);
COMMENT ON TABLE work_order IS '工单';
COMMENT ON COLUMN work_order.updater IS '更新人';
-- sqlserver
CREATE TABLE work_order (
id INT IDENTITY(1,1) PRIMARY KEY,
[工单号] NVARCHAR(50) UNIQUE,
[工单类型] NVARCHAR(50),
[工单数量] INT,
create_time DATETIME2 DEFAULT GETDATE(),
updater NVARCHAR(50)
);
EXEC sp_addextendedproperty
@name = N'MS_Description',
@value = N'工单',
@level0type = N'SCHEMA', @level0name = 'dbo',
@level1type = N'TABLE', @level1name = 'work_order';
EXEC sp_addextendedproperty
@name = N'MS_Description',
@value = N'更新人',
@level0type = N'SCHEMA', @level0name = 'dbo',
@level1type = N'TABLE', @level1name = 'work_order',
@level2type = N'COLUMN', @level2name = 'updater';