Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Change ¶ added in v0.1.0
type Change interface {
// contains filtered or unexported methods
}
Change is the interface implemented by change specifications. Change instances are supposed to be mappable to schema.Change instances.
type Check ¶ added in v0.3.0
type Check struct { Name string `spec:",name"` Expr string `spec:"expr"` schemahcl.DefaultExtension }
Check holds a specification for a check constraint on a table.
type Column ¶
type Column struct { Name string `spec:",name"` Null bool `spec:"null"` Type *schemahcl.Type `spec:"type"` Default schemahcl.Value `spec:"default"` schemahcl.DefaultExtension }
Column holds a specification for a column in an SQL table.
type ForeignKey ¶
type ForeignKey struct { Symbol string `spec:",name"` Columns []*schemahcl.Ref `spec:"columns"` RefColumns []*schemahcl.Ref `spec:"ref_columns"` OnUpdate *schemahcl.Ref `spec:"on_update"` OnDelete *schemahcl.Ref `spec:"on_delete"` schemahcl.DefaultExtension }
ForeignKey holds a specification for the Foreign key of a table.
type Index ¶
type Index struct { Name string `spec:",name"` Unique bool `spec:"unique,omitempty"` Parts []*IndexPart `spec:"on"` Columns []*schemahcl.Ref `spec:"columns"` schemahcl.DefaultExtension }
Index holds a specification for the index key of a table.
type IndexPart ¶ added in v0.3.2
type IndexPart struct { Desc bool `spec:"desc,omitempty"` Column *schemahcl.Ref `spec:"column"` Expr string `spec:"expr,omitempty"` schemahcl.DefaultExtension }
IndexPart holds a specification for the index key part.
type ModifyTable ¶ added in v0.1.0
ModifyTable is a specification for a schema.ModifyTable.
type PrimaryKey ¶
type PrimaryKey struct { Columns []*schemahcl.Ref `spec:"columns"` schemahcl.DefaultExtension }
PrimaryKey holds a specification for the primary key of a table.
type Schema ¶
type Schema struct { Name string `spec:"name,name"` schemahcl.DefaultExtension }
Schema holds a specification for a Schema.
type Table ¶
type Table struct { Name string `spec:",name"` Qualifier string `spec:",qualifier"` Schema *schemahcl.Ref `spec:"schema"` Columns []*Column `spec:"column"` PrimaryKey *PrimaryKey `spec:"primary_key"` ForeignKeys []*ForeignKey `spec:"foreign_key"` Indexes []*Index `spec:"index"` Checks []*Check `spec:"check"` schemahcl.DefaultExtension }
Table holds a specification for an SQL table.