Files
gas-stack/pkg/codegen/tpl/db.go.tpl
2026-09-19 23:12:30 -07:00

39 lines
751 B
Smarty

package db
import (
_ "embed"
"fmt"
"github.com/jmoiron/sqlx"
"git.offline-twitter.com/offline-labs/gas-stack/pkg/db"
)
//go:embed schema.sql
var sql_schema string
// Database starts at version 0. First migration brings us to version 1
var MIGRATIONS = []db.Migration{}
type DB struct {
DB *sqlx.DB
}
func Create(path string) (*DB, error) {
conf := db.Init(&sql_schema, &MIGRATIONS)
dbHandle, err := conf.Create(path)
if err != nil {
return nil, fmt.Errorf("creating db: %w", err)
}
return &DB{dbHandle}, nil
}
func Connect(path string) (*DB, error) {
conf := db.Init(&sql_schema, &MIGRATIONS)
dbHandle, err := conf.Connect(path)
if err != nil {
return nil, fmt.Errorf("creating db: %w", err)
}
return &DB{dbHandle}, nil
}