1234567891011121314151617181920212223242526272829303132 |
- package migrate
- import (
- "context"
- "fmt"
- "golang-fave/engine/sqlw"
- "golang-fave/engine/utils"
- )
- func Run(ctx context.Context, db *sqlw.DB, version int, host string) error {
- var last string
- for i, fn := range Migrations {
- if utils.StrToInt(i) > 1 {
- if version < utils.StrToInt(i) {
- last = i
- if fn != nil {
- fn(ctx, db, host)
- fmt.Printf("Migrated %s: %s\n", host, i)
- }
- }
- }
- }
- if last != "" {
- if _, err := db.Exec(ctx, `UPDATE fave_settings SET value = ? WHERE name = 'database_version';`, last); err != nil {
- return err
- }
- }
- return nil
- }
|