diff options
Diffstat (limited to 'internal/db/bundb/migrations/util.go')
-rw-r--r-- | internal/db/bundb/migrations/util.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/db/bundb/migrations/util.go b/internal/db/bundb/migrations/util.go index bae5750df..7f8b57c42 100644 --- a/internal/db/bundb/migrations/util.go +++ b/internal/db/bundb/migrations/util.go @@ -45,6 +45,7 @@ func convertEnums[OldType ~string, NewType ~int16]( column string, mapping map[OldType]NewType, defaultValue *NewType, + indexCleanupCallback func(context.Context, bun.Tx) error, ) error { if len(mapping) == 0 { return errors.New("empty mapping") @@ -110,6 +111,13 @@ func convertEnums[OldType ~string, NewType ~int16]( log.Warnf(ctx, "total=%d does not match updated=%d", total, updated) } + // Run index cleanup callback if set. + if indexCleanupCallback != nil { + if err := indexCleanupCallback(ctx, tx); err != nil { + return gtserror.Newf("error running index cleanup callback: %w", err) + } + } + // Drop the old column from table. if _, err := tx.NewDropColumn(). Table(table). |