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"
 | 
						|
)
 |