Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const DB_CONNECT_STRING = "host=postgres port=5432 user=postgres password=postgres sslmode=disable"
- func ProvisionDB() error {
- db, err := sql.Open("postgres", DB_CONNECT_STRING)
- if err != nil {
- panic(err)
- }
- defer db.Close()
- getUser, err := db.Exec("SELECT 1 FROM pg_roles WHERE rolname='keycloak'")
- rows, err := getUser.RowsAffected()
- if rows != 1 {
- _, err = db.Exec("CREATE DATABASE keycloak")
- if err != nil {
- fmt.Println(err)
- }
- _, err = db.Exec("CREATE USER keycloak WITH PASSWORD 'keycloak'")
- if err != nil {
- fmt.Println(err)
- }
- _, err = db.Exec("GRANT ALL PRIVILEGES ON DATABASE keycloak TO keycloak")
- if err != nil {
- fmt.Println(err)
- }
- _, err = db.Exec("ALTER USER pgche WITH SUPERUSER")
- if err != nil {
- fmt.Println(err)
- }
- _, err = db.Exec("ALTER USER keycloak WITH SUPERUSER")
- if err != nil {
- fmt.Println(err)
- }
- }
- return nil
- }
Add Comment
Please, Sign In to add comment