Documentation
¶
Overview ¶
Vendored from github.com/glebarez/sqlite v1.11.0 (MIT) with the only change being package rename from `sqlite` to `gormsqlite`. We vendor this in-tree to avoid importing github.com/glebarez/sqlite itself, which pulls github.com/glebarez/go-sqlite — a fork of modernc.org/sqlite. The user directive is to depend strictly on modernc.org/sqlite; these migrator helpers are pure SQL/GORM glue with no SQLite driver dependency.
Package gormsqlite is an in-tree GORM dialector that uses modernc.org/sqlite as its SQL driver.
We maintain our own small dialector rather than pulling in `gorm.io/driver/sqlite` (which hard-requires mattn/go-sqlite3) or `github.com/glebarez/sqlite` (which hard-requires a fork of modernc under a different import path). The resulting build tree references modernc.org/sqlite exclusively for its SQLite needs.
The bulk of this dialector is structural boilerplate adapted from the glebarez/sqlite code (Apache-2.0); the only functional change is that the driver registration (`_ "modernc.org/sqlite"`) and Translate()'s error type come directly from modernc.org/sqlite.
Vendored from github.com/glebarez/sqlite v1.11.0 (MIT) with the only change being package rename from `sqlite` to `gormsqlite`. We vendor this in-tree to avoid importing github.com/glebarez/sqlite itself, which pulls github.com/glebarez/go-sqlite — a fork of modernc.org/sqlite. The user directive is to depend strictly on modernc.org/sqlite; these migrator helpers are pure SQL/GORM glue with no SQLite driver dependency.
Vendored from github.com/glebarez/sqlite v1.11.0 (MIT) with the only change being package rename from `sqlite` to `gormsqlite`. We vendor this in-tree to avoid importing github.com/glebarez/sqlite itself, which pulls github.com/glebarez/go-sqlite — a fork of modernc.org/sqlite. The user directive is to depend strictly on modernc.org/sqlite; these migrator helpers are pure SQL/GORM glue with no SQLite driver dependency.
Index ¶
- Constants
- Variables
- func Open(dsn string) gorm.Dialector
- type Dialector
- func (Dialector) BindVarTo(writer clause.Writer, _ *gorm.Statement, _ interface{})
- func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder
- func (Dialector) DataTypeOf(field *schema.Field) string
- func (Dialector) DefaultValueOf(field *schema.Field) clause.Expression
- func (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) Name() string
- func (Dialector) QuoteTo(writer clause.Writer, str string)
- func (Dialector) RollbackTo(tx *gorm.DB, name string) error
- func (Dialector) SavePoint(tx *gorm.DB, name string) error
- func (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 ¶
const DriverName = "sqlite"
DriverName is the database/sql driver name registered by modernc.org/sqlite (pure-Go SQLite).
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 is a GORM dialector backed exclusively by modernc.org/sqlite.
func (Dialector) ClauseBuilders ¶
func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder
func (Dialector) DefaultValueOf ¶
func (Dialector) DefaultValueOf(field *schema.Field) clause.Expression
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