Documentation
¶
Index ¶
Constants ¶
const (
TypeFK = "FOREIGN KEY"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Column ¶
type Column struct {
Name string `json:"name"`
Type string `json:"type"`
Nullable bool `json:"nullable"`
Default sql.NullString `json:"default"`
Comment string `json:"comment"`
ParentRelations []*Relation `json:"-"`
ChildRelations []*Relation `json:"-"`
}
Column is the struct for table column
func (Column) MarshalJSON ¶ added in v1.6.0
MarshalJSON return custom JSON byte
func (Column) MarshalYAML ¶ added in v1.26.0
MarshalYAML return custom YAML byte
func (*Column) UnmarshalJSON ¶ added in v1.6.0
UnmarshalJSON unmarshal JSON to schema.Column
func (*Column) UnmarshalYAML ¶ added in v1.26.0
UnmarshalYAML unmarshal YAML to schema.Column
type Constraint ¶ added in v0.2.2
type Constraint struct {
Name string `json:"name"`
Type string `json:"type"`
Def string `json:"def"`
Table *string `json:"table"`
ReferenceTable *string `json:"reference_table" yaml:"referenceTable"`
Columns []string `json:"columns"`
ReferenceColumns []string `json:"reference_columns" yaml:"referenceColumns"`
}
Constraint is the struct for database constraint
type Driver ¶ added in v1.6.0
type Driver struct {
Name string `json:"name"`
DatabaseVersion string `json:"database_version" yaml:"databaseVersion"`
Meta map[string]string `json:"meta"`
}
Driver is the struct for tbls driver information
func (Driver) MarshalJSON ¶ added in v1.28.0
MarshalJSON return custom JSON byte
type Index ¶
type Index struct {
Name string `json:"name"`
Def string `json:"def"`
Table *string `json:"table"`
Columns []string `json:"columns"`
}
Index is the struct for database index
type Relation ¶
type Relation struct {
Table *Table `json:"table"`
Columns []*Column `json:"columns"`
ParentTable *Table `json:"parent_table" yaml:"parentTable"`
ParentColumns []*Column `json:"parent_columns" yaml:"parentColumns"`
Def string `json:"def"`
Virtual bool `json:"virtual" yaml:"virtual"`
}
Relation is the struct for table relation
func (Relation) MarshalJSON ¶ added in v1.26.0
MarshalJSON return custom JSON byte
func (Relation) MarshalYAML ¶ added in v1.26.0
MarshalYAML return custom YAML byte
func (*Relation) UnmarshalJSON ¶ added in v1.26.0
UnmarshalJSON unmarshal JSON to schema.Column
func (*Relation) UnmarshalYAML ¶ added in v1.26.0
UnmarshalYAML unmarshal YAML to schema.Column
type Schema ¶
type Schema struct {
Name string `json:"name"`
Tables []*Table `json:"tables"`
Relations []*Relation `json:"relations"`
Driver *Driver `json:"driver"`
}
Schema is the struct for database schema
func (*Schema) FindTableByName ¶
FindTableByName find table by table name
func (*Schema) FullTableName ¶ added in v1.28.0
func (Schema) MarshalJSON ¶ added in v1.25.1
MarshalJSON return custom JSON byte
type Table ¶
type Table struct {
Name string `json:"name"`
Type string `json:"type"`
Comment string `json:"comment"`
Columns []*Column `json:"columns"`
Indexes []*Index `json:"indexes"`
Constraints []*Constraint `json:"constraints"`
Triggers []*Trigger `json:"triggers"`
Def string `json:"def"`
}
Table is the struct for database table
func (*Table) CollectTablesAndRelations ¶ added in v1.27.0
func (*Table) FindColumnByName ¶
FindColumnByName find column by column name
func (Table) MarshalJSON ¶ added in v1.25.1
MarshalJSON return custom JSON byte