90 lines
2.7 KiB
Go
90 lines
2.7 KiB
Go
// Package define ...
|
|
//
|
|
// Description : define ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2023-09-17 11:48
|
|
package define
|
|
|
|
import "fmt"
|
|
|
|
// 占位符定义
|
|
const (
|
|
// Symbol 引号占位符
|
|
Symbol = "{SYMBOL}"
|
|
// FieldName 表字段名称
|
|
FieldName = "{FIELD_NAME}"
|
|
// FieldType 字段类型
|
|
FieldType = "{FIELD_TYPE}"
|
|
// FieldUnsigned 字段无符号
|
|
FieldUnsigned = "{FIELD_UNSIGNED}"
|
|
// FieldNotNull 字段不为空
|
|
FieldNotNull = "{FIELD_NOT_NULL}"
|
|
// FieldAutoIncrement 表字段自增
|
|
FieldAutoIncrement = "{FIELD_AUTO_INCREMENT}"
|
|
// FieldDefaultValue 默认值
|
|
FieldDefaultValue = "{FIELD_DEFAULT_VALUE}"
|
|
// FieldOnUpdate 字段自动更新
|
|
FieldOnUpdate = "{FIELD_ON_UPDATE}"
|
|
// FieldComment 字段注释
|
|
FieldComment = "{FIELD_COMMENT}"
|
|
// IndexType 索引类型
|
|
IndexType = "{INDEX_TYPE}"
|
|
// IndexName 索引名称
|
|
IndexName = "{INDEX_NAME}"
|
|
// IndexFieldList 索引字段列表
|
|
IndexFieldList = "{INDEX_FIELD_LIST}"
|
|
// TableName 表名称
|
|
TableName = "{TABLE_NAME}"
|
|
// TableFieldList 表字段列表
|
|
TableFieldList = "{TABLE_FIELD_LIST}"
|
|
// TableIndexList 表索引列表
|
|
TableIndexList = "{TABLE_INDEX_LIST}"
|
|
// TableEngine 数据表存储引擎
|
|
TableEngine = "{TABLE_ENGINE}"
|
|
// TableAutoIncrement 表自增起始值
|
|
TableAutoIncrement = "{TABLE_AUTO_INCREMENT}"
|
|
// TableDefaultCharset 表默认编码
|
|
TableDefaultCharset = "{TABLE_DEFAULT_CHARSET}"
|
|
// TableDefaultCollate 表默认编码集
|
|
TableDefaultCollate = "{TABLE_DEFAULT_COLLATE}"
|
|
// TableComment 表注释
|
|
TableComment = "{TABLE_COMMENT}"
|
|
)
|
|
|
|
// mysql 数据库相关模板
|
|
var (
|
|
// MysqlFieldTpl mysql 表字段模板
|
|
MysqlFieldTpl = fmt.Sprintf("%v %v %v %v %v %v %v %v", FieldName, FieldType, FieldUnsigned, FieldNotNull, FieldAutoIncrement, FieldDefaultValue, FieldOnUpdate, FieldComment)
|
|
// MysqlTableTpl 创建表sql语句
|
|
MysqlTableTpl = fmt.Sprintf("CREATE TABLE %v (%v %v) %v %v %v %v %v;", TableName, TableFieldList, TableIndexList, TableEngine, TableAutoIncrement, TableDefaultCharset, TableDefaultCollate, TableComment)
|
|
)
|
|
|
|
var (
|
|
// SqliteFieldTpl sqlite 表字段模板
|
|
SqliteFieldTpl = fmt.Sprintf("%v %v", FieldName, FieldType)
|
|
// SqliteTableTpl 创建表sql语句
|
|
SqliteTableTpl = fmt.Sprintf("CREATE TABLE %v (%v);", TableName, TableFieldList)
|
|
)
|
|
|
|
const (
|
|
// TableIndexPrimary 主键索引
|
|
TableIndexPrimary = "PRIMARY"
|
|
// TableIndexUnique 唯一索引
|
|
TableIndexUnique = "UNIQUE"
|
|
// TableIndexKey key
|
|
TableIndexKey = "KEY"
|
|
// TableIndexIndex index
|
|
TableIndexIndex = "INDEX"
|
|
)
|
|
|
|
const (
|
|
// TableEngineInnoDB InnoDB 存储引擎
|
|
TableEngineInnoDB = "InnoDB"
|
|
// TableCharsetUtf8mb4 utf8mb4编码
|
|
TableCharsetUtf8mb4 = "utf8mb4"
|
|
// TableCollateUtf8mb4GeneralCi 字符集编码
|
|
TableCollateUtf8mb4GeneralCi = "utf8mb4_general_ci"
|
|
)
|