mirror of
https://github.com/TECHNOFAB11/dbmate.git
synced 2025-12-12 16:10:03 +01:00
Add errcheck and fix unchecked errors
This commit is contained in:
parent
913234a60d
commit
c6aba53e51
7 changed files with 40 additions and 13 deletions
|
|
@ -5,6 +5,7 @@ import (
|
|||
"fmt"
|
||||
"github.com/adrianmacneil/dbmate/driver/shared"
|
||||
pq "github.com/lib/pq"
|
||||
"io"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
|
|
@ -26,6 +27,12 @@ func (postgres Driver) openPostgresDB(u *url.URL) (*sql.DB, error) {
|
|||
return postgres.Open(&postgresURL)
|
||||
}
|
||||
|
||||
func mustClose(c io.Closer) {
|
||||
if err := c.Close(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// CreateDatabase creates the specified database
|
||||
func (postgres Driver) CreateDatabase(u *url.URL) error {
|
||||
name := shared.DatabaseName(u)
|
||||
|
|
@ -35,7 +42,7 @@ func (postgres Driver) CreateDatabase(u *url.URL) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer db.Close()
|
||||
defer mustClose(db)
|
||||
|
||||
_, err = db.Exec(fmt.Sprintf("CREATE DATABASE %s",
|
||||
pq.QuoteIdentifier(name)))
|
||||
|
|
@ -52,7 +59,7 @@ func (postgres Driver) DropDatabase(u *url.URL) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer db.Close()
|
||||
defer mustClose(db)
|
||||
|
||||
_, err = db.Exec(fmt.Sprintf("DROP DATABASE IF EXISTS %s",
|
||||
pq.QuoteIdentifier(name)))
|
||||
|
|
@ -68,7 +75,7 @@ func (postgres Driver) DatabaseExists(u *url.URL) (bool, error) {
|
|||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
defer db.Close()
|
||||
defer mustClose(db)
|
||||
|
||||
exists := false
|
||||
err = db.QueryRow("SELECT true FROM pg_database WHERE datname = $1", name).
|
||||
|
|
@ -105,7 +112,7 @@ func (postgres Driver) SelectMigrations(db *sql.DB, limit int) (map[string]struc
|
|||
return nil, err
|
||||
}
|
||||
|
||||
defer rows.Close()
|
||||
defer mustClose(rows)
|
||||
|
||||
migrations := map[string]struct{}{}
|
||||
for rows.Next() {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import (
|
|||
"database/sql"
|
||||
"github.com/adrianmacneil/dbmate/driver/postgres"
|
||||
"github.com/stretchr/testify/require"
|
||||
"io"
|
||||
"net/url"
|
||||
"os"
|
||||
"testing"
|
||||
|
|
@ -24,6 +25,12 @@ func testURL(t *testing.T) *url.URL {
|
|||
return u
|
||||
}
|
||||
|
||||
func mustClose(c io.Closer) {
|
||||
if err := c.Close(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateDropDatabase(t *testing.T) {
|
||||
d := postgres.Driver{}
|
||||
u := testURL(t)
|
||||
|
|
@ -40,7 +47,7 @@ func TestCreateDropDatabase(t *testing.T) {
|
|||
func() {
|
||||
db, err := sql.Open("postgres", u.String())
|
||||
require.Nil(t, err)
|
||||
defer db.Close()
|
||||
defer mustClose(db)
|
||||
|
||||
err = db.Ping()
|
||||
require.Nil(t, err)
|
||||
|
|
@ -54,7 +61,7 @@ func TestCreateDropDatabase(t *testing.T) {
|
|||
func() {
|
||||
db, err := sql.Open("postgres", u.String())
|
||||
require.Nil(t, err)
|
||||
defer db.Close()
|
||||
defer mustClose(db)
|
||||
|
||||
err = db.Ping()
|
||||
require.NotNil(t, err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue