Documentation
¶
Index ¶
- Constants
- func FormatConstraintName(schema, table, constraint string, opts *writers.WriterOptions) string
- func FormatDefault(col *models.Column) string
- func GetTemplateFuncs(opts *writers.WriterOptions) template.FuncMap
- func IsAutoIncrementCandidate(col *models.Column) bool
- func IsIntegerType(colType string) bool
- func MapBooleanValue(value string) string
- func MapPostgreSQLType(pgType string) string
- func QuoteIdentifier(name string) string
- type ConstraintTemplateData
- type IndexTemplateData
- type TableTemplateData
- type TemplateExecutor
- func (te *TemplateExecutor) ExecuteCreateCheckConstraint(data ConstraintTemplateData) (string, error)
- func (te *TemplateExecutor) ExecuteCreateForeignKey(data ConstraintTemplateData) (string, error)
- func (te *TemplateExecutor) ExecuteCreateIndex(data IndexTemplateData) (string, error)
- func (te *TemplateExecutor) ExecuteCreateTable(data TableTemplateData) (string, error)
- func (te *TemplateExecutor) ExecuteCreateUniqueConstraint(data ConstraintTemplateData) (string, error)
- func (te *TemplateExecutor) ExecutePragmaForeignKeys() (string, error)
- type Writer
Constants ¶
const ( TypeText = "TEXT" TypeInteger = "INTEGER" TypeReal = "REAL" TypeNumeric = "NUMERIC" TypeBlob = "BLOB" )
SQLite type affinities
Variables ¶
This section is empty.
Functions ¶
func FormatConstraintName ¶
func FormatConstraintName(schema, table, constraint string, opts *writers.WriterOptions) string
FormatConstraintName formats a constraint name with table prefix if flattening
func FormatDefault ¶
FormatDefault formats a default value for SQLite
func GetTemplateFuncs ¶
func GetTemplateFuncs(opts *writers.WriterOptions) template.FuncMap
GetTemplateFuncs returns template functions for SQLite SQL generation
func IsAutoIncrementCandidate ¶
IsAutoIncrementCandidate checks if a column should use AUTOINCREMENT
func IsIntegerType ¶
IsIntegerType checks if a column type should be treated as integer
func MapBooleanValue ¶
MapBooleanValue converts PostgreSQL boolean literals to SQLite (0/1)
func MapPostgreSQLType ¶
MapPostgreSQLType maps PostgreSQL data types to SQLite type affinities
func QuoteIdentifier ¶
QuoteIdentifier quotes an identifier for SQLite (double quotes)
Types ¶
type ConstraintTemplateData ¶
type ConstraintTemplateData struct {
Schema string
Table string
Name string
Columns []string
Expression string
ForeignSchema string
ForeignTable string
ForeignColumns []string
OnDelete string
OnUpdate string
}
ConstraintTemplateData contains data for constraint templates
type IndexTemplateData ¶
IndexTemplateData contains data for index template
type TableTemplateData ¶
type TableTemplateData struct {
Schema string
Name string
Columns []*models.Column
PrimaryKey *models.Constraint
}
TableTemplateData contains data for table template
func BuildTableTemplateData ¶
func BuildTableTemplateData(schema string, table *models.Table) TableTemplateData
BuildTableTemplateData builds TableTemplateData from a models.Table
type TemplateExecutor ¶
type TemplateExecutor struct {
// contains filtered or unexported fields
}
TemplateExecutor manages and executes SQLite SQL templates
func NewTemplateExecutor ¶
func NewTemplateExecutor(opts *writers.WriterOptions) (*TemplateExecutor, error)
NewTemplateExecutor creates a new template executor for SQLite
func (*TemplateExecutor) ExecuteCreateCheckConstraint ¶
func (te *TemplateExecutor) ExecuteCreateCheckConstraint(data ConstraintTemplateData) (string, error)
ExecuteCreateCheckConstraint executes the create check constraint template
func (*TemplateExecutor) ExecuteCreateForeignKey ¶
func (te *TemplateExecutor) ExecuteCreateForeignKey(data ConstraintTemplateData) (string, error)
ExecuteCreateForeignKey executes the create foreign key template
func (*TemplateExecutor) ExecuteCreateIndex ¶
func (te *TemplateExecutor) ExecuteCreateIndex(data IndexTemplateData) (string, error)
ExecuteCreateIndex executes the create index template
func (*TemplateExecutor) ExecuteCreateTable ¶
func (te *TemplateExecutor) ExecuteCreateTable(data TableTemplateData) (string, error)
ExecuteCreateTable executes the create table template
func (*TemplateExecutor) ExecuteCreateUniqueConstraint ¶
func (te *TemplateExecutor) ExecuteCreateUniqueConstraint(data ConstraintTemplateData) (string, error)
ExecuteCreateUniqueConstraint executes the create unique constraint template
func (*TemplateExecutor) ExecutePragmaForeignKeys ¶
func (te *TemplateExecutor) ExecutePragmaForeignKeys() (string, error)
ExecutePragmaForeignKeys executes the pragma foreign keys template
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer implements the Writer interface for SQLite SQL output
func NewWriter ¶
func NewWriter(options *writers.WriterOptions) *Writer
NewWriter creates a new SQLite SQL writer SQLite doesn't support schemas, so FlattenSchema is automatically enabled
func (*Writer) WriteDatabase ¶
WriteDatabase writes the entire database schema as SQLite SQL
func (*Writer) WriteSchema ¶
WriteSchema writes a single schema as SQLite SQL