定义模型
// 模型定义配置
testModel := model.Define{
Name: "测试模型",// 模型名称
Options: model.Options{
Timestamps: true, // 是否内置数据时间戳
CryptID: false, // 是否加密主键 ID
CryptLen: 12, // 加密后的主键 ID 最短长度
Salt: "xxx", // 加密主键 ID 需要的盐
},
Fields: map[string]*model.Field{ // 字段配置
"label": {
Type: schema.String, // 字段类型
Size: 20, // 字段限制长度
Label: "规则名称", // 字段名称
Default: false, // 默认值
Comment: "如果不为空,必须唯一", // 字段注释
Nullable: true, // 是否可以为 null
Validations: []model.Validations{ // 验证规则
{
Method: "regex", // 验证方法,具体参考“内置验证”
Args: "^[a-zA-Z0-9_]+$", // 验证参数
Message: "规则名不能包含特殊符号", // 验证失败显示信息
},
},
Options: model.FieldOption{}, // 更多字段选项
},
},
Values: []ztype.Map{ // 初始化数据
{
model.IDKey: 1, // 如果存在 ID ,则只在首次初始化时候添加入库
"label": "全局访问"
},
},
}
内置验证