Add model generator based on AST
All checks were successful
CI / build-docker (push) Successful in 13s
CI / build-docker-bootstrap (push) Has been skipped
CI / release-test (push) Successful in 40s

This commit is contained in:
2025-11-09 16:34:46 -08:00
parent 2146e1de77
commit 208c1eb26c
8 changed files with 634 additions and 3 deletions

38
pkg/codegen/tpl/db.go.tpl Normal file
View 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
}