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"` }
Driver is the struct for tbls driver information
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) 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