Skip to content
This repository has been archived by the owner on May 21, 2024. It is now read-only.

Commit

Permalink
ping to database when preparation of postgres module
Browse files Browse the repository at this point in the history
  • Loading branch information
imantung committed Nov 22, 2019
1 parent 20304d8 commit c82c7f5
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
27 changes: 16 additions & 11 deletions pkg/typpostgres/module.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,13 @@ func (p postgresModule) Command(c *typcli.Cli) cli.Command {
func (p postgresModule) Provide() []interface{} {
return []interface{}{
p.loadConfig,
p.openConnection,
p.open,
}
}

func (p postgresModule) Prepare() []interface{} {
return []interface{}{
p.ping,
}
}

Expand Down Expand Up @@ -114,17 +120,16 @@ func (p postgresModule) loadConfig(loader typcfg.Loader) (cfg Config, err error)
return
}

func (p postgresModule) openConnection(cfg Config) (db *sql.DB, err error) {
log.Info("Open postgres connection")
if db, err = sql.Open("postgres", p.dataSource(cfg)); err != nil {
return
}
err = db.Ping()
return
func (p postgresModule) open(cfg Config) (*sql.DB, error) {
return sql.Open("postgres", p.dataSource(cfg))
}

func (p postgresModule) ping(db *sql.DB) error {
log.Info("Ping to Postgres")
return db.Ping()
}

func (postgresModule) closeConnection(db *sql.DB) error {
fmt.Println("Close postgres connection")
return db.Close()
}

Expand Down Expand Up @@ -175,8 +180,8 @@ func (p postgresModule) rollbackDB(cfg Config) (err error) {
}

func (p postgresModule) seedDB(cfg Config) (err error) {
conn, err := sql.Open("postgres", p.dataSource(cfg))
if err != nil {
var conn *sql.DB
if conn, err = sql.Open("postgres", p.dataSource(cfg)); err != nil {
return
}
defer conn.Close()
Expand Down
1 change: 1 addition & 0 deletions pkg/typpostgres/module_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ func TestModule(t *testing.T) {
m := typpostgres.Module()
require.True(t, typmodule.IsProvider(m))
require.True(t, typmodule.IsDestroyer(m))
require.True(t, typmodule.IsPreparer(m))
require.True(t, typcli.IsCommander(m))
require.True(t, typcfg.IsConfigurer(m))
}

0 comments on commit c82c7f5

Please sign in to comment.