From 3c180091e19751e0614e762017da4823b1b12b6e Mon Sep 17 00:00:00 2001 From: Rogee Date: Mon, 15 Dec 2025 10:50:41 +0800 Subject: [PATCH] feat: add river_queue migration --- .../migrate/20140202000000_river_queue.go | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 templates/project/app/commands/migrate/20140202000000_river_queue.go diff --git a/templates/project/app/commands/migrate/20140202000000_river_queue.go b/templates/project/app/commands/migrate/20140202000000_river_queue.go new file mode 100644 index 0000000..40e2255 --- /dev/null +++ b/templates/project/app/commands/migrate/20140202000000_river_queue.go @@ -0,0 +1,35 @@ +package migrate + +import ( + "context" + "database/sql" + + "github.com/pkg/errors" + "github.com/pressly/goose/v3" + "github.com/riverqueue/river/riverdriver/riverdatabasesql" + "github.com/riverqueue/river/rivermigrate" +) + +func init() { + goose.AddMigrationNoTxContext(RiverQueueUp, RiverQueueDown) +} + +func RiverQueueUp(ctx context.Context, db *sql.DB) error { + migrator, err := rivermigrate.New(riverdatabasesql.New(db), nil) + if err != nil { + return errors.Wrap(err, "river migrate up failed") + } + + _, err = migrator.Migrate(ctx, rivermigrate.DirectionUp, &rivermigrate.MigrateOpts{TargetVersion: -1}) + return err +} + +func RiverQueueDown(ctx context.Context, db *sql.DB) error { + migrator, err := rivermigrate.New(riverdatabasesql.New(db), nil) + if err != nil { + return errors.Wrap(err, "river migrate down failed") + } + + _, err = migrator.Migrate(ctx, rivermigrate.DirectionDown, &rivermigrate.MigrateOpts{TargetVersion: -1}) + return err +}