Qails 使用 bookshelf 实现的 ORM。
import { Model } from 'qails'; /** * @class User */ export default class User extends Model { /** * @method 表名称 * @return {string} */ get tableName() { return 'users'; } }
上面的代码创建了一个 User
模型,它和数据库中的 users
表关联。
以下是默认约定,如果不想按着默认约定编码,可以在代码中使用指定参数的方式更改
users
和posts
的关联表名称应该为posts_users
tags
和posts
的关联表名称应该为posts_tags
users
和tags
的关联表名称应该为tags_users
被关联表名称的单数_id
,如 user_id
tag_id
post_id
Qails 内置了以下 bookshelf 插件:
可以通过传递环境变量来控制插件是否启动,在 qails 框架中,和 bookshelf 相关的环境变量统一放在 profiles/common/bookshelf.env
中(查看文件)
######################################## # # # bookshelf配置 # # # # 配置 bookshelf 模型具有的特性 # # 通过该配置决定使用哪些 bookshelf 插件 # # # ######################################## ######## 插件开关 ######## # 让 Model 具有自动注册到中央位置的功能 MODEL_REGISTRY=false # 让 Model 具有返回虚拟字段的功能 MODEL_VIRTUALS=false # 让 Model 调用 toJSON 方法时具有显示/隐藏某些字段的功能 MODEL_VISIBILITY=false # 让 Model 具有删除关联数据功能 MODEL_CASCADEDELETE=false # 让 Model 具有返回自定义字段的功能 MODEL_MASK=false # 让 Model 具有自动生成UUID的功能 MODEL_UUID=false # 让 Model 具有自动存储序列化对象的能力 MODEL_JSONCOLUMNS=false # 让 Model 具有自动转换对象 key 拼写的能力 MODEL_MAGICCASE=false # 让 Model 具有软删除记录的能力 MODEL_SOFTDELETE=false ######## 插件参数 ######## # UUID 生成器类型,默认值v4 MODEL_UUID_TYPE=
如果你发现文档存在错误,请在 GitHub 提个 issue 告诉我们。