Skip to content

Commit 0e286b8

Browse files
author
Lukas Joergensen
committed
postgres: Move lock out of ensureVersionTable, for consistency with other SQL operations.
1 parent c0f025d commit 0e286b8

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

database/postgres/postgres.go

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,23 @@ func WithInstance(instance *sql.DB, config *Config) (database.Driver, error) {
9898
config: config,
9999
}
100100

101+
if err = px.Lock(); err != nil {
102+
return nil, err
103+
}
104+
101105
if err := px.ensureVersionTable(); err != nil {
102106
return nil, err
103107
}
104108

109+
if e := px.Unlock(); e != nil {
110+
if err == nil {
111+
err = e
112+
} else {
113+
err = multierror.Append(err, e)
114+
}
115+
return nil, err
116+
}
117+
105118
return px, nil
106119
}
107120

@@ -334,20 +347,6 @@ func (p *Postgres) Drop() error {
334347
}
335348

336349
func (p *Postgres) ensureVersionTable() (err error) {
337-
if err = p.Lock(); err != nil {
338-
return err
339-
}
340-
341-
defer func() {
342-
if e := p.Unlock(); e != nil {
343-
if err == nil {
344-
err = e
345-
} else {
346-
err = multierror.Append(err, e)
347-
}
348-
}
349-
}()
350-
351350
query := `CREATE TABLE IF NOT EXISTS "` + p.config.MigrationsTable + `" (version bigint not null primary key, dirty boolean not null)`
352351
if _, err = p.conn.ExecContext(context.Background(), query); err != nil {
353352
return &database.Error{OrigErr: err, Query: []byte(query)}

0 commit comments

Comments
 (0)