summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/migrate/migrator.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace/bun/migrate/migrator.go')
-rw-r--r--vendor/github.com/uptrace/bun/migrate/migrator.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/vendor/github.com/uptrace/bun/migrate/migrator.go b/vendor/github.com/uptrace/bun/migrate/migrator.go
index d5a72aec0..a325c3993 100644
--- a/vendor/github.com/uptrace/bun/migrate/migrator.go
+++ b/vendor/github.com/uptrace/bun/migrate/migrator.go
@@ -41,6 +41,12 @@ func WithMarkAppliedOnSuccess(enabled bool) MigratorOption {
}
}
+func WithTemplateData(data any) MigratorOption {
+ return func(m *Migrator) {
+ m.templateData = data
+ }
+}
+
type Migrator struct {
db *bun.DB
migrations *Migrations
@@ -50,6 +56,8 @@ type Migrator struct {
table string
locksTable string
markAppliedOnSuccess bool
+
+ templateData any
}
func NewMigrator(db *bun.DB, migrations *Migrations, opts ...MigratorOption) *Migrator {
@@ -168,7 +176,7 @@ func (m *Migrator) Migrate(ctx context.Context, opts ...MigrationOption) (*Migra
group.Migrations = migrations[:i+1]
if !cfg.nop && migration.Up != nil {
- if err := migration.Up(ctx, m.db); err != nil {
+ if err := migration.Up(ctx, m.db, m.templateData); err != nil {
return group, err
}
}
@@ -207,7 +215,7 @@ func (m *Migrator) Rollback(ctx context.Context, opts ...MigrationOption) (*Migr
}
if !cfg.nop && migration.Down != nil {
- if err := migration.Down(ctx, m.db); err != nil {
+ if err := migration.Down(ctx, m.db, m.templateData); err != nil {
return lastGroup, err
}
}