gogjango/gjango

View on GitHub
manager/createdb.go

Summary

Maintainability
A
0 mins
Test Coverage
package manager

import (
    "fmt"

    "github.com/go-pg/pg/v9"
    "github.com/gogjango/gjango/config"
)

// CreateDatabaseIfNotExist creates our postgresql database from postgres config
func CreateDatabaseIfNotExist(db *pg.DB, p *config.PostgresConfig) {
    statement := fmt.Sprintf(`SELECT 1 AS result FROM pg_database WHERE datname = '%s';`, p.Database)
    res, _ := db.Exec(statement)
    if res.RowsReturned() == 0 {
        fmt.Println("creating database")
        statement = fmt.Sprintf(`CREATE DATABASE %s WITH OWNER %s;`, p.Database, p.User)
        _, err := db.Exec(statement)
        if err != nil {
            fmt.Println(err)
        } else {
            fmt.Printf(`Created database %s`, p.Database)
        }
    } else {
        fmt.Printf("Database named %s already exists\n", p.Database)
    }
}