grim/devweb

842aeaa29bfd
move back to vite and update all the things to vue3 style
package db
import (
"database/sql"
"github.com/lopezator/migrator"
"keep.imfreedom.org/grim/devweb/db/scheme"
)
type Cmd struct {
Options
}
func migrationFromFile(filename string) *migrator.Migration {
return &migrator.Migration{
Name: filename,
Func: func(tx *sql.Tx) error {
data, err := scheme.FSString(false, "/"+filename)
if err != nil {
return err
}
if _, err := tx.Exec(data); err != nil {
return err
}
return nil
},
}
}
func (c *Cmd) Run() error {
err := Setup(c.Options.Driver, c.Options.Options)
if err != nil {
return err
}
m, err := migrator.New(migrator.Migrations(
migrationFromFile("01-initial.sql"),
))
if err != nil {
Teardown()
return err
}
if err := m.Migrate(_db.DB); err != nil {
Teardown()
return err
}
return Teardown()
}