package migrations import ( "context" "git.haelnorr.com/h/oslstats/internal/db" "github.com/uptrace/bun" ) func init() { Migrations.MustRegister( // UP migration func(ctx context.Context, conn *bun.DB) error { // Add is_forfeit column _, err := conn.NewAddColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("is_forfeit BOOLEAN NOT NULL DEFAULT false"). IfNotExists(). Exec(ctx) if err != nil { return err } // Add forfeit_type column _, err = conn.NewAddColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("forfeit_type VARCHAR"). IfNotExists(). Exec(ctx) if err != nil { return err } // Add forfeit_team column _, err = conn.NewAddColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("forfeit_team VARCHAR"). IfNotExists(). Exec(ctx) if err != nil { return err } // Add forfeit_reason column _, err = conn.NewAddColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("forfeit_reason VARCHAR"). IfNotExists(). Exec(ctx) if err != nil { return err } return nil }, // DOWN migration func(ctx context.Context, conn *bun.DB) error { _, err := conn.NewDropColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("forfeit_reason"). Exec(ctx) if err != nil { return err } _, err = conn.NewDropColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("forfeit_team"). Exec(ctx) if err != nil { return err } _, err = conn.NewDropColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("forfeit_type"). Exec(ctx) if err != nil { return err } _, err = conn.NewDropColumn(). Model((*db.FixtureResult)(nil)). ColumnExpr("is_forfeit"). Exec(ctx) return err }, ) }