internal: ensure schema manager is closed (#5521)
This releases the connection it holds indefinitely
This commit is contained in:
1 parent
acc40e0d08
commit
5de0c8c102
4 files changed
+5
No files matched your search
@@ -46,11 +46,13 @@ func migrateDatabase(ctx context.Context, ui cli.Ui, dialect, u string, initiali
|
||||
// This is an advisory lock on the DB which is released when the DB session ends.
|
||||
if err := man.ExclusiveLock(ctx); err != nil {
|
||||
ui.Error("Unable to capture a lock on the database.")
|
||||
_ = man.Close(ctx)
|
||||
return noop, 2
|
||||
}
|
||||
unlock := func() {
|
||||
// We don't report anything since this should resolve itself anyways.
|
||||
_ = man.ExclusiveUnlock(ctx)
|
||||
_ = man.Close(ctx)
|
||||
}
|
||||
|
||||
st, err := man.CurrentState(ctx)
|
||||
|
||||
@@ -19,6 +19,7 @@ func ApplyMigration(t *testing.T, ctx context.Context, d *sql.DB, migrationId in
|
||||
schema.TestCreatePartialEditions(schema.Dialect(dialect), schema.PartialEditions{"oss": migrationId}),
|
||||
))
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { m.Close(context.Background()) })
|
||||
_, err = m.ApplyMigrations(ctx)
|
||||
require.NoError(t, err)
|
||||
state, err := m.CurrentState(ctx)
|
||||
|
||||
@@ -25,6 +25,7 @@ func MigrateStore(ctx context.Context, dialect Dialect, url string, opt ...Optio
|
||||
if err != nil {
|
||||
return false, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
defer sMan.Close(ctx)
|
||||
|
||||
st, err := sMan.CurrentState(ctx)
|
||||
if err != nil {
|
||||
|
||||
@@ -125,6 +125,7 @@ func testInitStore(t testing.TB, cleanup func() error, url string) {
|
||||
require.NoError(t, err)
|
||||
sm, err := schema.NewManager(ctx, schema.Dialect(dialect), d)
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { sm.Close(context.Background()) })
|
||||
_, err = sm.ApplyMigrations(ctx)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user