Documentation
¶
Overview ¶
TODO: Normalize implicit things in input first, and then compare
This package has SQL parser, its abstraction and SQL generator. Never touch database.
Index ¶
- Constants
- func GenerateIdempotentDDLs(mode GeneratorMode, sqlParser database.Parser, desiredSQL string, ...) ([]string, error)
- type AddForeignKey
- type AddIndex
- type AddPolicy
- type AddPrimaryKey
- type CheckDefinition
- type Column
- type ColumnKeyOption
- type Comment
- type ConstraintOptions
- type CreateIndex
- type CreateTable
- type DDL
- type DefaultDefinition
- type Extension
- type ForeignKey
- type Generated
- type GeneratedType
- type Generator
- type GeneratorMode
- type Identity
- type Index
- type IndexColumn
- type IndexOption
- type IndexPartition
- type Policy
- type Sequence
- type SridDefinition
- type Table
- type Trigger
- type Type
- type Value
- type ValueType
- type View
Constants ¶
View Source
const ( AscScr = "asc" DescScr = "desc" )
IndexColumn.direction
View Source
const ( ValueTypeStr = ValueType(iota) ValueTypeInt ValueTypeFloat ValueTypeHexNum ValueTypeHex ValueTypeValArg ValueTypeBit ValueTypeBool )
View Source
const ( ColumnKeyNone = ColumnKeyOption(iota) ColumnKeyPrimary ColumnKeySpatialKey ColumnKeyUnique ColumnKeyUniqueKey ColumnKey )
View Source
const ( GeneratedTypeVirtual = GeneratedType(iota) GeneratedTypeStored )
View Source
const ( GeneratorModeMysql = GeneratorMode(iota) GeneratorModePostgres GeneratorModeSQLite3 GeneratorModeMssql )
Variables ¶
This section is empty.
Functions ¶
func GenerateIdempotentDDLs ¶
func GenerateIdempotentDDLs(mode GeneratorMode, sqlParser database.Parser, desiredSQL string, currentSQL string, config database.GeneratorConfig, defaultSchema string) ([]string, error)
Parse argument DDLs and call `generateDDLs()`
Types ¶
type AddForeignKey ¶ added in v0.4.0
type AddForeignKey struct {
// contains filtered or unexported fields
}
func (*AddForeignKey) Statement ¶ added in v0.4.0
func (a *AddForeignKey) Statement() string
type AddPolicy ¶ added in v0.8.2
type AddPolicy struct {
// contains filtered or unexported fields
}
type AddPrimaryKey ¶ added in v0.3.3
type AddPrimaryKey struct {
// contains filtered or unexported fields
}
func (*AddPrimaryKey) Statement ¶ added in v0.3.3
func (a *AddPrimaryKey) Statement() string
type CheckDefinition ¶ added in v0.10.9
type CheckDefinition struct {
// contains filtered or unexported fields
}
type ColumnKeyOption ¶
type ColumnKeyOption int
type ConstraintOptions ¶ added in v0.11.24
type ConstraintOptions struct {
// contains filtered or unexported fields
}
type CreateIndex ¶ added in v0.2.0
type CreateIndex struct {
// contains filtered or unexported fields
}
func (*CreateIndex) Statement ¶ added in v0.2.0
func (c *CreateIndex) Statement() string
type CreateTable ¶
type CreateTable struct {
// contains filtered or unexported fields
}
func (*CreateTable) Statement ¶
func (c *CreateTable) Statement() string
type DDL ¶
type DDL interface {
Statement() string
}
func FilterTables ¶ added in v0.12.0
func FilterTables(ddls []DDL, config database.GeneratorConfig) []DDL
type DefaultDefinition ¶ added in v0.10.4
type DefaultDefinition struct {
// contains filtered or unexported fields
}
type Extension ¶ added in v0.13.12
type Extension struct {
// contains filtered or unexported fields
}
type ForeignKey ¶ added in v0.4.0
type ForeignKey struct {
// contains filtered or unexported fields
}
type Generated ¶ added in v0.15.10
type Generated struct {
// contains filtered or unexported fields
}
type GeneratedType ¶ added in v0.15.10
type GeneratedType int
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
This struct holds simulated schema states during GenerateIdempotentDDLs().
type GeneratorMode ¶ added in v0.2.0
type GeneratorMode int
type Identity ¶ added in v0.10.14
type Identity struct {
// contains filtered or unexported fields
}
type IndexColumn ¶
type IndexColumn struct {
// contains filtered or unexported fields
}
type IndexOption ¶ added in v0.10.6
type IndexOption struct {
// contains filtered or unexported fields
}
type IndexPartition ¶ added in v0.10.12
type IndexPartition struct {
// contains filtered or unexported fields
}
type SridDefinition ¶ added in v0.14.2
type SridDefinition struct {
// contains filtered or unexported fields
}
type Table ¶
type Table struct {
// contains filtered or unexported fields
}
func (*Table) PrimaryKey ¶ added in v0.4.9
Click to show internal directories.
Click to hide internal directories.