此文档已弃用。请访问我们的最新文档:https://koishi.chat

数据模型 (Model)

数据类型

数据类型会被用于 model.extend() 方法中,其定义如下:

export interface Field<T> {
  type: string
  length?: number
  nullable?: boolean
  initial?: T
  comment?: string
}

数值类型

名称TS 类型默认长度默认初始值说明
integernumber100有符号整型数,长度决定了数据的范围
unsignednumber100无符号整型数,长度决定了数据的范围
floatnumber固定长度0单精度浮点数
doublenumber固定长度0双精度浮点数

字符串类型

名称TS 类型默认长度默认初始值说明
charstring64''定长的字符串
stringstring256''变长的字符串
textstring65535''变长的字符串

时间类型

名称TS 类型默认长度默认初始值说明
dateDate固定长度null日期值
timeDate固定长度null时间值
timestampDate固定长度null时间戳

其他类型

名称TS 类型默认长度默认初始值说明
jsonobject65535null可被序列化为 json 的结构化数据
liststring[]65535[]字符串构成的列表,序列化时以逗号分隔

实例方法

model.extend(name, fields, config?) beta

  • name: string 数据表名
  • fields: Field.Config 字段信息
  • config: Table.Meta 表的基本配置
    • config.primary: string | string[] 主键名,默认为 'id'
    • config.unique: (string | string[])[] 值唯一的键名列表
    • config.foreign: Dict<[string, string]> 值唯一的键名列表
    • config.autoInc: boolean 是否使用自增主键

扩展一个新的数据表。

model.create(name)

model.resolveQuery(query)

model.resolveModifier(modifier)