1. 数据库
1.1. 命名
统一采用大写字母,通过每个单词之间使用下划线分割
- 表名——模块名业务名,例如:铭软的cms模块里面的文章,表名 cms_content;
- 字段名——表名加字段名,例如:文章的内容,字段名content_details;
- 外键——fk_字段名,例如:文章的主键,fk_basic_id,推荐使用业务功能去实现主外键的业务;
- 索引——idx_字段名,例如:文章的标题,idx_basic_title;
- 主键——pk_字段名,例如:文章的编号,pk_basic_id;
1.2. 必备字段
- id 主键(不推荐使用自增长id,防揣测并方便数据库适配)
- create_date 创建时间
- update_date 更新时间
- create_by 创建人
- update_by 更新人
- del 删除标记
1.3. sql规范
1.3.1. boolean类型值
规范:通过Boolean.TRUE(FALSE)进行赋值,禁止赋值0、1,会带来数据库适配问题
1.3.2. varchar类型值
规范:在通过excuteSql组织sql查询时,varchar类型的值必须要用''包裹值
1.3.3. datetime或timestamp类型
mysql的timestamp类型有2038危机,即使其他数据库没有(postGreSql,dm timestamp没有2038危机),尽量不使用timestamp类型
对于datetime、timestamp类型库中的设置,对于一些业务字段,禁止勾选根据当前时间戳更新
1.3.4. 数据库表名
规范:在通过excuteSql组织sql查询时,表名称禁止使用``包裹
[!tip]
代码生成器会默认生成必备字段
不同的模块需要加前缀,如:cms_ 内容模块