Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cfg ¶
type Cfg struct {
Models []MultiModelCfg `json:"models" yaml:"models"`
}
type ColumnData ¶
ColumnData describes the columns of table
func (*ColumnData) Convert ¶
func (c *ColumnData) Convert() (*Table, error)
Convert converts column data into Table
type DbColumn ¶
type DbColumn struct { Name string `db:"COLUMN_NAME"` DataType string `db:"DATA_TYPE"` Extra string `db:"EXTRA"` Comment string `db:"COLUMN_COMMENT"` ColumnDefault interface{} `db:"COLUMN_DEFAULT"` IsNullAble string `db:"IS_NULLABLE"` OrdinalPosition int `db:"ORDINAL_POSITION"` }
DbColumn defines column info of columns
type DbIndex ¶
type DbIndex struct { IndexName string `db:"INDEX_NAME"` NonUnique int `db:"NON_UNIQUE"` SeqInIndex int `db:"SEQ_IN_INDEX"` }
DbIndex defines index of columns in information_schema.statistic
type InformationSchemaModel ¶
type InformationSchemaModel struct {
// contains filtered or unexported fields
}
InformationSchemaModel defines information schema model
func NewInformationSchemaModel ¶
func NewInformationSchemaModel(conn sqlx.SqlConn) *InformationSchemaModel
NewInformationSchemaModel creates an instance for InformationSchemaModel
func (*InformationSchemaModel) FindColumns ¶
func (m *InformationSchemaModel) FindColumns(db, table string) (*ColumnData, error)
FindColumns return columns in specified database and table
func (*InformationSchemaModel) FindIndex ¶
func (m *InformationSchemaModel) FindIndex(db, table, column string) ([]*DbIndex, error)
FindIndex finds index with given db, table and column.
func (*InformationSchemaModel) GetAllTables ¶
func (m *InformationSchemaModel) GetAllTables(database string) ([]*DBTable, error)
GetAllTables selects all tables from TABLE_SCHEMA
type MultiModelCfg ¶ added in v1.0.3
type MultiModelCfg struct { Table string `json:"table" yaml:"table"` Group string `json:"group" yaml:"group"` Package string `json:"package" yaml:"package"` AliasPackage string `json:"aliasPackage" yaml:"aliasPackage"` Fields []string `json:"fields" yaml:"fields"` Excludes []string `json:"excludes" yaml:"excludes"` Joins []MultiModelJoinCfg `json:"joins" yaml:"joins"` }
func NewMultiModelCfg ¶ added in v1.0.3
func NewMultiModelCfg(filename string) ([]MultiModelCfg, error)
type MultiModelJoinCfg ¶ added in v1.0.3
type MultiModelJoinCfg struct { Table string `json:"table" yaml:"table"` Group string `json:"group" yaml:"group"` Alias string `json:"alias" yaml:"alias"` JoinType string `json:"joinType" yaml:"joinType"` Package string `json:"package" yaml:"package"` AliasPackage string `json:"aliasPackage" yaml:"aliasPackage"` ForeignKey string `json:"foreignKey" yaml:"foreignKey"` References string `json:"references" yaml:"references"` Fields []string `json:"fields" yaml:"fields"` Excludes []string `json:"excludes" yaml:"excludes"` }
type Table ¶
type Table struct { Db string Table string Comment string Columns []*Column // Primary key not included UniqueIndex map[string][]*Column PrimaryKey *Column NormalIndex map[string][]*Column MultiModelCfg MultiModelCfg }
Table describes mysql table which contains database name, table name, columns, keys
Click to show internal directories.
Click to hide internal directories.