数据库设计规范
TIP
当前数据库设计规范参考fastadmin和BuildAdmin,在原有的基础上,实现无需代码自动根据数据库直接实现CRUD。
字段类型
| 类型 | 备注 | CRUD 搭配点 | 表格 | 表单 |
|---|---|---|---|---|
| enum | 枚举型 | 自动生成单选框 | √ | √ |
| set | set 型 | 自动生成复选框 | √ | √ |
| date | 日期型 | 自动生成日期的选择组件 | √ | √ |
| year | 年份型 | 自动生成年份选择组件 | √ | √ |
| time | 时间型 | 自动生成时间选择组件 | √ | √ |
| datetime/timestamp | 时间日期 | 自动生成时间日期的选择组件 | ||
| decimal/double/float | 浮点型 | 自动生成 Number 输入框,步长根据默认值自动计算 | ||
| int/bigint/mediumint/smallint/tinyint | 整型 | 自动生成 Number 输入框,步长为 1 | ||
| longtext/text/mediumtext/smalltext/tinytext/bigtext | 文本型 | 自动生成 textarea 文本框 |
字段名称
| 名称 | 备注 | 字段类型要求 | CRUD 搭配点 |
|---|---|---|---|
| weigh | 权重 | int | 后台的排序字段,如果存在该字段将出现排序按钮,可上下拖动进行排序 |
| create_time | 创建时间(可视化生成) | int | 记录的添加时间字段,不需要手动维护 |
| update_time | 更新时间(可视化生成) | int | 记录的更新时间的字段,不需要手动维护 |
| delete_time | 更新时间(可视化生成) | int | 记录的删除时间的字段,不需要手动维护,需要默认为NULL |
字段后缀(名称结尾)
| 后缀 | 名称示例 | 字段类型要求 | CRUD 搭配点 |
|---|---|---|---|
| array | namearray | 无 | 自动生成数组输入组件 |
| list/select/data | namelist | 无 | 自动生成 select,单选 |
| lists/selects/multi | name_selects | 无 | 自动生成 select,多选 |
| _id | user_id | 无 | 自动生成关联表远程 select,单选 |
| _ids | user_ids | 无 | 自动生成关联表远程 select,多选 |
| city | city | 无 | 自动生成城市选择器(需在模块市场中安装省份城市信息) |
| image/avatar | desc_image | 无 | 自动生成上传图片组件,单图 |
| images/avatars | descimages | 无 | 自动生成上传图片组件,多图 |
| file | attachfile | 无 | 自动生成上传文件组件,单文件 |
| files | attachfiles | 无 | 自动生成上传文件组件,多文件 |
| icon | icon | 无 | 自动生成图标选择器 |
| color | color | 无 | 自动生成颜色选择器(仅可视化CRUD) |
| number/int/num | add_num | 无 | 自动生成 Number 输入框,步长根据默认值自动计算 |
| time/datetime | refreshtime | int | 自动创建选择时间日期的组件 |
| textarea/multiline/rows | rows | varchar | 自动生成Textarea输入框 |
| status/state/type | status | tinyint(1)/char(1) | 自动生成单选框 |
| switch/toggle | log_switch | tinyint(1)/int/enum/char(1) | 自动生成开关组件,真值、1代表开,假值、0代表关 |
| content/editor | content | longtext/text/mediumtext/smalltext/tinytext/bigtext | 自动生成富文本编辑器 |
字段注释
CRUD会将字段注释和表注释解析为字典。
| 字段 | 注释内容 | 字段类型 | 字段说明 |
|---|---|---|---|
| status | 状态 | int | 将生成普通文本框 |
| status | 状态 | enum(0,1,2) | 将生成单选 |
| status | 状态:0=隐藏,1=正常,2=推荐 | enum(0,1,2) | 将生成单选,显示值为对应文字 |
将字段status注释设置为状态:0=禁用,1=启用,那么一键CRUD生成的页面如下所示。
