From 8002748f35a505ddd9c4ad9a4d7ab8cb26be3109 Mon Sep 17 00:00:00 2001 From: Michael Boulton Date: Mon, 6 Nov 2023 11:08:52 +0000 Subject: [PATCH] Allow creating databases with dashes in the name --- prepare_database.go | 2 +- prepare_database_test.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/prepare_database.go b/prepare_database.go index 494be90..0e8fa65 100644 --- a/prepare_database.go +++ b/prepare_database.go @@ -82,7 +82,7 @@ func defaultCreateDatabase(port uint32, username, password, database string) (er err = connectionClose(db, err) }() - if _, err := db.Exec(fmt.Sprintf("CREATE DATABASE %s", database)); err != nil { + if _, err := db.Exec(fmt.Sprintf("CREATE DATABASE \"%s\"", database)); err != nil { return errorCustomDatabase(database, err) } diff --git a/prepare_database_test.go b/prepare_database_test.go index f29845b..cad9873 100644 --- a/prepare_database_test.go +++ b/prepare_database_test.go @@ -116,6 +116,20 @@ func Test_defaultCreateDatabase_ErrorWhenSQLOpenError(t *testing.T) { assert.EqualError(t, err, "unable to connect to create database with custom name database with the following error: client_encoding must be absent or 'UTF8'") } +func Test_defaultCreateDatabase_DashesInName(t *testing.T) { + database := NewDatabase(DefaultConfig(). + Port(9832). + Database("my-cool-database")) + + if err := database.Start(); err != nil { + t.Fatal(err) + } + + if err := database.Stop(); err != nil { + t.Fatal(err) + } +} + func Test_defaultCreateDatabase_ErrorWhenQueryError(t *testing.T) { database := NewDatabase(DefaultConfig(). Port(9831).