database/install/define/tpl.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"
)