postgresql
DROP TABLE IF EXISTS base;
CREATE TABLE base(
id SERIAL NOT NULL,
data_id VARCHAR(32) NOT NULL,
created_by VARCHAR(255),
revision INTEGER,
state INTEGER NOT NULL,
status INTEGER NOT NULL,
create_time TIMESTAMP NOT NULL,
update_time TIMESTAMP NOT NULL,
remark VARCHAR(255),
deleted INTEGER,
tenant_id INTEGER NOT NULL,
PRIMARY KEY (id)
);
COMMENT ON TABLE base IS '表基础格式';
COMMENT ON COLUMN base.data_id IS '数据id';
COMMENT ON COLUMN base.created_by IS '创建人';
COMMENT ON COLUMN base.revision IS '乐观锁';
COMMENT ON COLUMN base.state IS '(隐藏、显示)、(是、否)、(可用、不可用)、(启用、禁用)';
COMMENT ON COLUMN base.status IS '状态';
COMMENT ON COLUMN base.create_time IS '创建时间';
COMMENT ON COLUMN base.update_time IS '更新时间';
COMMENT ON COLUMN base.remark IS '备注';
COMMENT ON COLUMN base.deleted IS '逻辑删除标记';
COMMENT ON COLUMN base.tenant_id IS '租户id';
mysql
DROP TABLE IF EXISTS base;
CREATE TABLE base(
`id` INT AUTO_INCREMENT COMMENT '' ,
`data_id` VARCHAR(32) NOT NULL COMMENT '数据id' ,
`created_by` VARCHAR(255) COMMENT '创建人' ,
`revision` INT COMMENT '乐观锁' ,
`state` INT NOT NULL COMMENT '(隐藏、显示)、(是、否)、(可用、不可用)、(启用、禁用)' ,
`status` INT NOT NULL COMMENT '状态' ,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` VARCHAR(255) COMMENT '备注' ,
`deleted` INT COMMENT '逻辑删除标记' ,
`tenant_id` INT NOT NULL COMMENT '租户id' ,
PRIMARY KEY (id)
) COMMENT = '表基础格式';
【强制】必须显式指定主键, 勿用复合主键. 主键的命名统一为:id
【强制】bigint id 无意义主键id
【强制】varchar(32) data_id 数据id,有的业务需要进行先插入再根据id进行操作
【强制】varchar(32) created_by 操作人
【强制】int(1) unsign deleted 逻辑删除标记.默认值0,删除值1
【强制】datetime create_time 默认值 CURRENT_TIMESTAMP 额外值 DEFAULT_GENERATED
【强制】datetime update_time 默认值 CURRENT_TIMESTAMP 额外值 DEFAULT_GENERATED on update CURRENT_TIMESTAMP
【强制】关于状态字段根据业务含义命名为: state、status
【强制】界面上要显示成树形结构的表,至少需要3个字段: id、parent_id、sort_value
【强制】POJO 类的布尔属性不能加 is,而数据库字段必须加 is_,要求在 resultMap 中进行字段与属性之间的映射。
【强制】主键索引名为 pk_字段名
【强制】唯一索引名为 uk_字段名
【强制】普通索引名则为 idx_字段名。
【强制】不得使用外键与级联,一切外键概念必须在应用层解决
【强制】不用存储过程
【强制】数据库名、表名、字段名统一使用小写字母, _ 分割
【强制】表和字段必须加注释!
【强制】当字段为外键时,字段名为:关联表_id, 注释需要在字段注释基础上,换行加上 #关联表表名来说明关联的哪张表。