member-doc/database.md

22 lines
1.2 KiB
Markdown
Raw Normal View History

2022-06-14 11:36:15 +00:00
## 数据库设计
1. 数据任何一张表需保留`create_uid,update_uid,created_at,updated_at,deleted_at`依次表示记录创建人,更新人,创建时间,更新时间,删除时间。`created_at,updated_at,deleted_at` 类型为datetime。
2. 业务数据主表需要保留`service_id`字段该字段用于定义多服务租户数据隔离字段在后面逻辑业务code中该字段不需要手动写入应有程序底层自动管理。
3. 除json text blog 字段可以设置默认值null其他类型字段必须设置默认值。
4. 数字类型默认整数类型默认为0浮点数类型0.*,除业务需求默认使用无符号。
5. 字符串类型默认为''。varchar 类型必须根据业务场景设置合适长度。
6. 关于时间字段统一使用datetime类型禁止使用init 类型。
7. 业务枚举值统一使用Tinyint 类型。
8. 主键统一使用无符号Bigint类型主键名称必须为id。
## 数据库索引
1. 表中`service_id`字段,必须与需要索引字段建立复合索引。
2. 普通索引必须idx_开头唯一uni_头
3. 建立索引必须有较大索引基数前提下。
## 数据迁移文件
【参考官方文档】 https://hyperf.wiki/2.2/#/zh-cn/db/migration