Add model generator based on AST
This commit is contained in:
38
pkg/codegen/tpl/db.go.tpl
Normal file
38
pkg/codegen/tpl/db.go.tpl
Normal file
@@ -0,0 +1,38 @@
|
||||
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 = []string{}
|
||||
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user