Documentation ¶
Index ¶
- Constants
- func CamelCaseConvert(strIn string) (strOut string)
- func ConvertMssqlColumnType(table *TableSchema) (err error)
- func ConvertPostgresColumnType(table *TableSchema) (err error)
- func CreateOutputFile(cmd *Commander, table *TableSchema, strFileSuffix string, append bool) (file *os.File, err error)
- func ExportTableColumns(cmd *Commander, table *TableSchema) (err error)
- func ExportTableSchema(cmd *Commander, tables []*TableSchema) (err error)
- func GenerateMethodDeclare(...) (strFunc string)
- func GetDatabaseName(strPath string) (strName string)
- func GetGoColumnType(strTableName string, col TableColumn, enableDecimal bool, ...) (strGoColType string, isDecimal bool)
- func GetProtoColumnType(strTableName, strColName, strDataType string) (strColType string)
- func HandleCommentCRLF(table *TableSchema)
- func IsInSlice(in string, s []string) bool
- func MakeGetter(strStructName, strColName, strColType string) (strGetter string)
- func MakeProtoBody(cmd *Commander, table *TableSchema) (strContent string)
- func MakeProtoHead(cmd *Commander) (strContent string)
- func MakeSetter(strStructName, strColName, strColType string) (strSetter string)
- func MakeTags(cmd *Commander, strColName, strColType, strTagValue, strComment string, ...) string
- func Register(strScheme string, inst Instance)
- func ReplaceCRLF(strIn string) (strOut string)
- func TrimSpaceSlice(s []string) (ts []string)
- type Commander
- type Exporter
- type Instance
- type TableColumn
- type TableSchema
Constants ¶
View Source
const ( METHOD_ARGS_NULL = "" METHOD_NAME_STRING = "String" METHOD_NAME_GOSTRING = "GoString" METHOD_NAME_GET = "Get" METHOD_NAME_SET = "Set" )
View Source
const ( SCHEME_MYSQL = "mysql" SCHEME_POSTGRES = "postgres" SCHEME_MSSQL = "mssql" JSON_PROPERTY_OMIT_EMTPY = "omitempty" )
View Source
const ( IMPORT_GOGO_PROTO = `import "github.com/gogo/protobuf/gogoproto/gogo.proto";` IMPORT_SQLCA = `import "github.com/civet148/sqlca"` )
View Source
const ( POSTGRES_COLUMN_INTEGER = "integer" POSTGRES_COLUMN_BIT = "bit" POSTGRES_COLUMN_BOOLEAN = "boolean" POSTGRES_COLUMN_BOX = "box" POSTGRES_COLUMN_BYTEA = "bytea" POSTGRES_COLUMN_CHARACTER = "character" POSTGRES_COLUMN_CIDR = "cidr" POSTGRES_COLUMN_CIRCLE = "circle" POSTGRES_COLUMN_DATE = "date" POSTGRES_COLUMN_NUMERIC = "numeric" POSTGRES_COLUMN_REAL = "real" POSTGRES_COLUMN_DOUBLE = "double" POSTGRES_COLUMN_INET = "inet" POSTGRES_COLUMN_SMALLINT = "smallint" POSTGRES_COLUMN_BIGINT = "bigint" POSTGRES_COLUMN_INTERVAL = "interval" POSTGRES_COLUMN_JSON = "json" POSTGRES_COLUMN_JSONB = "jsonb" POSTGRES_COLUMN_LINE = "line" POSTGRES_COLUMN_LSEG = "lseg" POSTGRES_COLUMN_MACADDR = "macaddr" POSTGRES_COLUMN_MONEY = "money" POSTGRES_COLUMN_PATH = "path" POSTGRES_COLUMN_POINT = "point" POSTGRES_COLUMN_POLYGON = "polygon" POSTGRES_COLUMN_TEXT = "text" POSTGRES_COLUMN_TIME = "time" POSTGRES_COLUMN_TIMESTAMP = "timestamp" POSTGRES_COLUMN_TSQUERY = "tsquery" POSTGRES_COLUMN_TSVECTOR = "tsvector" POSTGRES_COLUMN_TXID_SNAPSHOT = "txid_snapshot" POSTGRES_COLUMN_UUID = "uuid" POSTGRES_COLUMN_BIT_VARYING = "bit varying" POSTGRES_COLUMN_CHARACTER_VARYING = "character varying" POSTGRES_COLUMN_XML = "xml" )
View Source
const ( DB_COLUMN_TYPE_BIGINT = "bigint" DB_COLUMN_TYPE_INT = "int" DB_COLUMN_TYPE_INTEGER = "integer" DB_COLUMN_TYPE_MEDIUMINT = "mediumint" DB_COLUMN_TYPE_SMALLINT = "smallint" DB_COLUMN_TYPE_TINYINT = "tinyint" DB_COLUMN_TYPE_BIT = "bit" DB_COLUMN_TYPE_BOOL = "bool" DB_COLUMN_TYPE_BOOLEAN = "boolean" DB_COLUMN_TYPE_DECIMAL = "decimal" DB_COLUMN_TYPE_REAL = "real" DB_COLUMN_TYPE_DOUBLE = "double" DB_COLUMN_TYPE_FLOAT = "float" DB_COLUMN_TYPE_NUMERIC = "numeric" DB_COLUMN_TYPE_DATETIME = "datetime" DB_COLUMN_TYPE_YEAR = "year" DB_COLUMN_TYPE_DATE = "date" DB_COLUMN_TYPE_TIME = "time" DB_COLUMN_TYPE_TIMESTAMP = "timestamp" DB_COLUMN_TYPE_ENUM = "enum" DB_COLUMN_TYPE_SET = "set" DB_COLUMN_TYPE_VARCHAR = "varchar" DB_COLUMN_TYPE_NVARCHAR = "nvarchar" DB_COLUMN_TYPE_CHAR = "char" DB_COLUMN_TYPE_TEXT = "text" DB_COLUMN_TYPE_TINYTEXT = "tinytext" DB_COLUMN_TYPE_MEDIUMTEXT = "mediumtext" DB_COLUMN_TYPE_LONGTEXT = "longtext" DB_COLUMN_TYPE_BLOB = "blob" DB_COLUMN_TYPE_TINYBLOB = "tinyblob" DB_COLUMN_TYPE_MEDIUMBLOB = "mediumblob" DB_COLUMN_TYPE_LONGBLOB = "longblob" DB_COLUMN_TYPE_BINARY = "binary" DB_COLUMN_TYPE_VARBINARY = "varbinary" DB_COLUMN_TYPE_JSON = "json" DB_COLUMN_TYPE_JSONB = "jsonb" DB_COLUMN_TYPE_POINT = "point" DB_COLUMN_TYPE_POLYGON = "polygon" )
Variables ¶
This section is empty.
Functions ¶
func CamelCaseConvert ¶ added in v1.1.13
func ConvertMssqlColumnType ¶ added in v1.2.7
func ConvertMssqlColumnType(table *TableSchema) (err error)
func ConvertPostgresColumnType ¶ added in v1.2.7
func ConvertPostgresColumnType(table *TableSchema) (err error)
func CreateOutputFile ¶ added in v1.1.13
func ExportTableColumns ¶ added in v1.2.7
func ExportTableColumns(cmd *Commander, table *TableSchema) (err error)
func ExportTableSchema ¶ added in v1.2.7
func ExportTableSchema(cmd *Commander, tables []*TableSchema) (err error)
func GenerateMethodDeclare ¶ added in v1.2.12
func GetDatabaseName ¶ added in v1.1.13
func GetGoColumnType ¶ added in v1.2.7
func GetGoColumnType(strTableName string, col TableColumn, enableDecimal bool, tinyintAsBool []string) (strGoColType string, isDecimal bool)
将数据库字段类型转为go语言对应的数据类型
func GetProtoColumnType ¶ added in v1.2.7
将数据库字段类型转为protobuf对应的数据类型
func HandleCommentCRLF ¶ added in v1.2.7
func HandleCommentCRLF(table *TableSchema)
func MakeGetter ¶ added in v1.1.6
func MakeProtoBody ¶ added in v1.2.7
func MakeProtoBody(cmd *Commander, table *TableSchema) (strContent string)
func MakeProtoHead ¶ added in v1.2.7
func MakeSetter ¶ added in v1.1.6
func ReplaceCRLF ¶ added in v1.1.6
func TrimSpaceSlice ¶ added in v1.1.13
Types ¶
type Commander ¶ added in v1.1.6
type Commander struct { ConnUrl string `json:"ConnUrl,omitempty"` Database string `json:"-"` Tables []string `json:"-"` Without []string `json:"Without,omitempty"` ReadOnly []string `json:"ReadOnly,omitempty"` Tags []string `json:"Tags,omitempty"` Scheme string `json:"-"` Host string `json:"-"` User string `json:"-"` Password string `json:"-"` Charset string `json:"-"` OutDir string `json:"OutDir,omitempty"` Prefix string `json:"Prefix,omitempty"` Suffix string `json:"Suffix,omitempty"` PackageName string `json:"PackageName,omitempty"` Protobuf bool `json:"Protobuf,omitempty"` EnableDecimal bool `json:"EnableDecimal,omitempty"` OneFile bool `json:"OneFile,omitempty"` GogoOptions []string `json:"GogoOptions,omitempty"` Orm bool `json:"Orm,omitempty"` OmitEmpty bool `json:"OmitEmpty,omitempty"` Struct bool `json:"Struct"` TinyintAsBool []string `json:"TinyintAsBool,omitempty"` Engine *sqlca.Engine `json:"-"` JsonProperties string `json:"-"` SSH string `json:"ssh"` }
func (*Commander) GetJsonPropertiesSlice ¶ added in v1.3.1
type TableColumn ¶ added in v1.1.6
type TableColumn struct { Name string `json:"column_name" db:"column_name"` DataType string `json:"data_type" db:"data_type"` ColumnType string `json:"column_type" db:"column_type"` Key string `json:"column_key" db:"column_key"` Extra string `json:"extra" db:"extra"` Comment string `json:"column_comment" db:"column_comment"` IsPrimaryKey bool // is primary key IsDecimal bool // is decimal type IsReadOnly bool // is read only GoName string //column name in golang GoType string //column type in golang }
type TableSchema ¶ added in v1.1.6
type TableSchema struct { SchemeName string `json:"table_schema" db:"table_schema"` //database name TableName string `json:"table_name" db:"table_name"` //table name TableEngine string `json:"engine" db:"engine"` //database engine TableComment string `json:"table_comment" db:"table_comment"` //comment of table schema SchemeDir string `json:"schema_dir" db:"schema_dir"` //output path PkName string `json:"pk_name" db:"pk_name"` //primary key column name StructName string `json:"struct_name" db:"struct_name"` //struct name OutDir string `json:"out_dir" db:"out_dir"` //output directory FileName string `json:"file_name" db:"file_name"` //output directory Columns []TableColumn `json:"table_columns" db:"table_columns"` //columns with database and golang TableNameCamelCase string `json:"-"` //table name in camel case TableCreateSQL string `json:"-"` //table create SQL }
Click to show internal directories.
Click to hide internal directories.