基本约定:源码(java/vue)、开发工具、jdk、mysql、redis、rabbitmq、nacos等存放路径禁止包含中文、空格、特殊字符等。
1、开发工具统一
- 前端: NodeJs 16
- 后端: IntelliJ IDEA
2、数据库设计(数据库表设计要求)
- 数据库使用 utf8mb4 字符集、存储引擎必须使用 InnoDB
- 数据库名、表名、字段名统一使用小写字母或数字,切记不可以数字开始,库名跟项目名保持一致,表名如:b_业务名称_表的作用
- 表名不使用复数名词(反对orders)
- 表名避免过程用简写或者缩写,长度不超过 32 个字符
- 表、字段 必须加注释
- 唯一索引名为 uk_字段名;普通索引名则为idx_字段名;表中索引数量不要超过6个
- 建立索引在选择性高的字段上,不要在sex、status上建
- 表中必须指定主键,且只有一个,主键的命名统一为: id
- 所有字段尽量根据业务设置合理的缺省值(默认为:0),尽量避免表中出现 NULL值
- 小数类型为decimal,禁止使用float和double
- varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长 度大于此值,定义字段类型为 text,或者上传内容到oss上,避免影响其它字段索引效率
- 表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint (1 表示是,0 表示否) 比如:is_open 是否开启、是否关闭等等
- 任何表至少包含3个字段: bigint id、 timestamp created_time、bigint created_by,其他两个看业务逻辑需要:timestamp updated_time、bigint updated_by
- 关于常用字段根据业务含