sqldb: introduce replace for the BIGINT type alias

This commit is contained in:
Andras Banki-Horvath
2023-11-22 17:23:01 +01:00
parent e7d82fa530
commit 3e0f98a75a
2 changed files with 11 additions and 2 deletions

View File

@@ -133,8 +133,16 @@ func NewSqliteStore(cfg *SqliteConfig) (*SqliteStore, error) {
return nil, err
}
// We use INTEGER PRIMARY KEY for sqlite, because it acts as a
// ROWID alias which is 8 bytes big and also autoincrements.
// It's important to use the ROWID as a primary key because the
// key look ups are almost twice as fast
sqliteFS := newReplacerFS(sqlSchemas, map[string]string{
"BIGINT PRIMARY KEY": "INTEGER PRIMARY KEY",
})
err = applyMigrations(
sqlSchemas, driver, "sqlc/migrations", "sqlc",
sqliteFS, driver, "sqlc/migrations", "sqlc",
)
if err != nil {
return nil, err