Documentation
¶
Overview ¶
Package sqlite speaks SQLite to gorm over github.com/hanzoai/sqlite.
It is a fork of gorm.io/driver/sqlite, which blank-imports mattn/go-sqlite3 purely to register a driver name. Both that and the facade's cgo backend vendor the SQLite amalgamation, so a binary linking the two fails at the linker under cgo — which is the whole reason this exists.
It is a bridge, not a destination: hanzoai/orm is the estate's ORM, and this module retires when nothing imports gorm.
Index ¶
- Variables
- func New(config Config) gorm.Dialector
- func Open(dsn string) gorm.Dialector
- type Config
- type Dialector
- func (dialector Dialector) BindVarTo(writer clause.Writer, stmt *gorm.Statement, v interface{})
- func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder
- func (dialector Dialector) DataTypeOf(field *schema.Field) string
- func (dialector Dialector) DefaultValueOf(field *schema.Field) clause.Expression
- func (dialector Dialector) Explain(sql string, vars ...interface{}) string
- func (dialector Dialector) Initialize(db *gorm.DB) (err error)
- func (dialector Dialector) Migrator(db *gorm.DB) gorm.Migrator
- func (dialector Dialector) Name() string
- func (dialector Dialector) QuoteTo(writer clause.Writer, str string)
- func (dialectopr Dialector) RollbackTo(tx *gorm.DB, name string) error
- func (dialectopr Dialector) SavePoint(tx *gorm.DB, name string) error
- func (dialector Dialector) Translate(err error) error
- type Index
- type Migrator
- func (m Migrator) AlterColumn(value interface{}, name string) error
- func (m Migrator) BuildIndexOptions(opts []schema.IndexOption, stmt *gorm.Statement) (results []interface{})
- func (m Migrator) ColumnTypes(value interface{}) ([]gorm.ColumnType, error)
- func (m Migrator) CreateConstraint(value interface{}, name string) error
- func (m Migrator) CreateIndex(value interface{}, name string) error
- func (m Migrator) CurrentDatabase() (name string)
- func (m Migrator) DropColumn(value interface{}, name string) error
- func (m Migrator) DropConstraint(value interface{}, name string) error
- func (m Migrator) DropIndex(value interface{}, name string) error
- func (m Migrator) DropTable(values ...interface{}) error
- func (m Migrator) GetIndexes(value interface{}) ([]gorm.Index, error)
- func (m Migrator) GetTables() (tableList []string, err error)
- func (m Migrator) HasColumn(value interface{}, name string) bool
- func (m Migrator) HasConstraint(value interface{}, name string) bool
- func (m Migrator) HasIndex(value interface{}, name string) bool
- func (m Migrator) HasTable(value interface{}) bool
- func (m Migrator) RenameIndex(value interface{}, oldName, newName string) error
- func (m *Migrator) RunWithoutForeignKey(fc func() error) error
Constants ¶
This section is empty.
Variables ¶
var (
ErrConstraintsNotImplemented = errors.New("constraints not implemented on sqlite, consider using DisableForeignKeyConstraintWhenMigrating, more details https://github.com/go-gorm/gorm/wiki/GORM-V2-Release-Note-Draft#all-new-migrator")
)
Functions ¶
Types ¶
type Dialector ¶
Dialector speaks SQLite to gorm over github.com/hanzoai/sqlite, which is the one engine it opens. Upstream carries a field naming some other registered driver; it is absent here, so an example that sets it fails to compile rather than quietly opening a database on different terms.
func (Dialector) ClauseBuilders ¶
func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder
func (Dialector) DefaultValueOf ¶
func (dialector Dialector) DefaultValueOf(field *schema.Field) clause.Expression
func (Dialector) RollbackTo ¶
func (Dialector) Translate ¶
Translate renders a driver error in gorm's own vocabulary, leaving anything it has no word for untouched.
The question "which constraint did this violate" belongs to the driver, which is the only layer that sees the engine's extended result code, so it is asked there rather than answered a second time here. Upstream read the code out by marshalling the error to JSON and back — the one way to reach it without naming a cgo-only error type, and unnecessary once the driver answers.
type Migrator ¶
func (Migrator) AlterColumn ¶
func (Migrator) BuildIndexOptions ¶
func (m Migrator) BuildIndexOptions(opts []schema.IndexOption, stmt *gorm.Statement) (results []interface{})
func (Migrator) ColumnTypes ¶
func (m Migrator) ColumnTypes(value interface{}) ([]gorm.ColumnType, error)
ColumnTypes return columnTypes []gorm.ColumnType and execErr error
func (Migrator) CreateConstraint ¶
func (Migrator) CreateIndex ¶
func (Migrator) CurrentDatabase ¶
func (Migrator) DropColumn ¶
func (Migrator) DropConstraint ¶
func (Migrator) GetIndexes ¶
GetIndexes return Indexes []gorm.Index and execErr error, See the doc