summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/migrate/migration.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace/bun/migrate/migration.go')
-rw-r--r--vendor/github.com/uptrace/bun/migrate/migration.go32
1 files changed, 21 insertions, 11 deletions
diff --git a/vendor/github.com/uptrace/bun/migrate/migration.go b/vendor/github.com/uptrace/bun/migrate/migration.go
index 05bd6006c..ae649446d 100644
--- a/vendor/github.com/uptrace/bun/migrate/migration.go
+++ b/vendor/github.com/uptrace/bun/migrate/migration.go
@@ -25,11 +25,11 @@ type Migration struct {
Down MigrationFunc `bun:"-"`
}
-func (m *Migration) String() string {
+func (m Migration) String() string {
return m.Name
}
-func (m *Migration) IsApplied() bool {
+func (m Migration) IsApplied() bool {
return m.ID > 0
}
@@ -89,6 +89,22 @@ func NewSQLMigrationFunc(fsys fs.FS, name string) MigrationFunc {
idb = conn
}
+ var retErr error
+
+ defer func() {
+ if tx, ok := idb.(bun.Tx); ok {
+ retErr = tx.Commit()
+ return
+ }
+
+ if conn, ok := idb.(bun.Conn); ok {
+ retErr = conn.Close()
+ return
+ }
+
+ panic("not reached")
+ }()
+
for _, q := range queries {
_, err = idb.ExecContext(ctx, q)
if err != nil {
@@ -96,13 +112,7 @@ func NewSQLMigrationFunc(fsys fs.FS, name string) MigrationFunc {
}
}
- if tx, ok := idb.(bun.Tx); ok {
- return tx.Commit()
- } else if conn, ok := idb.(bun.Conn); ok {
- return conn.Close()
- }
-
- panic("not reached")
+ return retErr
}
}
@@ -222,11 +232,11 @@ type MigrationGroup struct {
Migrations MigrationSlice
}
-func (g *MigrationGroup) IsZero() bool {
+func (g MigrationGroup) IsZero() bool {
return g.ID == 0 && len(g.Migrations) == 0
}
-func (g *MigrationGroup) String() string {
+func (g MigrationGroup) String() string {
if g.IsZero() {
return "nil"
}