Documentation
¶
Overview ¶
Package sqlitedialect is a pure-Go GORM SQLite dialector.
It is a vendored copy of github.com/glebarez/sqlite v1.10.0 with one surgical change: the underlying SQLite driver/error type is sourced from modernc.org/sqlite directly instead of github.com/glebarez/go-sqlite (which is itself a thin wrapper over modernc.org/sqlite).
Why this exists: glebarez/go-sqlite and modernc.org/sqlite BOTH call sql.Register("sqlite", ...) in their init(). OpenFGA's SQL datastores pull in modernc.org/sqlite, so linking glebarez/go-sqlite as well panics at startup with "sql: Register called twice for driver sqlite". By dropping glebarez/sqlite (and thus glebarez/go-sqlite) and using modernc.org/sqlite as the SINGLE registrant, Authorizer's GORM SQLite path and OpenFGA's embedded SQL datastores coexist in one default binary with no registration conflict.
The dialect logic (DDL, type mapping, clause builders, migrator) is unchanged from glebarez/sqlite and is plain SQLite SQL — not driver-specific.
Index ¶
- Constants
- Variables
- func Open(dsn string) gorm.Dialector
- 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 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) 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 default driver name for 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 ¶
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 ¶
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