database/api2sql/define/core.go
2023-07-30 18:52:45 +08:00

49 lines
1.9 KiB
Go

// Package define ...
//
// Description : define ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2023-07-29 21:04
package define
// Database 数据库的配置
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:04 2023/7/29
type Database struct {
Driver string `json:"driver"` // 数据库驱动 : 暂时支持 mysql / sqlite
Flag string `json:"flag"` // 数据库标识, 全局唯一
Config map[string]interface{} `json:"config"` // 数据库的配置
}
// Table 数据表结构
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 16:43 2023/7/30
type Table struct {
Name string `json:"name"` // 数据表名称
Split bool `json:"split"` // 是否分表
SplitCount int64 `json:"split_count"` // 分表数量
SplitField string `json:"split_field"` // 分表字段
PrimaryField string `json:"primary_field"` // 主键字段
FieldList []*TableField `json:"field_list"` // 字段列表
}
// TableField 数据表字段配置
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 21:08 2023/7/29
type TableField struct {
Description string `json:"description"` // 字段描述
Name string `json:"name"` // 数据表中字段名称
Alias string `json:"alias"` // 字段别名 : 未设置和 Name 保持一致, 设置了将会以此字段值输出
Type string `json:"type"` // 数据类型 : int/uint/bool/float/string/object/array
AllowOutput bool `json:"allow_output"` // 是否允许对外输出
DefaultValue interface{} `json:"default_value"` // 针对 INSERT 语句, 在未指定字段值的情况下写入的默认值, 为nil不设置
ValidateRule interface{} `json:"validate_rule"` // 字段验证规则 : 不满足规则直接报错 TODO : 待完成
}