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