@@ -42,6 +42,15 @@ public Task Initialize(CancellationToken cancellationToken = default)
4242 private async Task InitializeMySql ( CancellationToken cancellationToken )
4343 {
4444 var connectionStringBuilder = new MySqlConnectionStringBuilder ( _configuration . ConnectionString ) ;
45+
46+ var cmdText = $ "CREATE DATABASE IF NOT EXISTS `{ connectionStringBuilder . Database } `";
47+
48+ Log . Information (
49+ "Creating database '{database}' at server '{server}' with the statement: {cmdText}" ,
50+ connectionStringBuilder . Database ,
51+ connectionStringBuilder . Server ,
52+ cmdText ) ;
53+
4554 using ( var connection = new MySqlConnection (
4655 new MySqlConnectionStringBuilder ( _configuration . ConnectionString )
4756 {
@@ -51,7 +60,7 @@ private async Task InitializeMySql(CancellationToken cancellationToken)
5160 await connection . OpenAsync ( cancellationToken ) . NotOnCapturedContext ( ) ;
5261
5362 using ( var command = new MySqlCommand (
54- $ "CREATE DATABASE IF NOT EXISTS ` { connectionStringBuilder . Database } `" ,
63+ cmdText ,
5564 connection ) )
5665 {
5766 await command . ExecuteNonQueryAsync ( cancellationToken ) . NotOnCapturedContext ( ) ;
@@ -62,6 +71,19 @@ private async Task InitializeMySql(CancellationToken cancellationToken)
6271 private async Task InitializeMsSql ( CancellationToken cancellationToken )
6372 {
6473 var connectionStringBuilder = new SqlConnectionStringBuilder ( _configuration . ConnectionString ) ;
74+
75+ var cmdText = $@ "
76+ IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'{ connectionStringBuilder . InitialCatalog } ')
77+ BEGIN
78+ CREATE DATABASE [{ connectionStringBuilder . InitialCatalog } ]
79+ END;
80+ " ;
81+ Log . Information (
82+ "Creating database '{database}' at server '{server}' with the statement: {cmdText}" ,
83+ connectionStringBuilder . InitialCatalog ,
84+ connectionStringBuilder . DataSource ,
85+ cmdText ) ;
86+
6587 using ( var connection = new SqlConnection (
6688 new SqlConnectionStringBuilder ( _configuration . ConnectionString )
6789 {
@@ -71,12 +93,7 @@ private async Task InitializeMsSql(CancellationToken cancellationToken)
7193 await connection . OpenAsync ( cancellationToken ) . NotOnCapturedContext ( ) ;
7294
7395 using ( var command = new SqlCommand (
74- $@ "
75- IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'{ connectionStringBuilder . InitialCatalog } ')
76- BEGIN
77- CREATE DATABASE [{ connectionStringBuilder . InitialCatalog } ]
78- END;
79- " ,
96+ cmdText ,
8097 connection ) )
8198 {
8299 await command . ExecuteNonQueryAsync ( cancellationToken ) . NotOnCapturedContext ( ) ;
@@ -87,6 +104,15 @@ CREATE DATABASE [{connectionStringBuilder.InitialCatalog}]
87104 private async Task InitializePostgres ( CancellationToken cancellationToken )
88105 {
89106 var connectionStringBuilder = new NpgsqlConnectionStringBuilder ( _configuration . ConnectionString ) ;
107+
108+ var cmdText = $ "CREATE DATABASE { connectionStringBuilder . Database } ";
109+
110+ Log . Information (
111+ "Creating database '{database}' at server '{server}' with the statement: {cmdText}" ,
112+ connectionStringBuilder . Database ,
113+ connectionStringBuilder . Host ,
114+ cmdText ) ;
115+
90116 using ( var connection = new NpgsqlConnection (
91117 new NpgsqlConnectionStringBuilder ( _configuration . ConnectionString )
92118 {
@@ -109,7 +135,7 @@ async Task<bool> DatabaseExists()
109135 if ( ! await DatabaseExists ( ) )
110136 {
111137 using ( var command = new NpgsqlCommand (
112- $ "CREATE DATABASE { connectionStringBuilder . Database } " ,
138+ cmdText ,
113139 connection ) )
114140 {
115141 await command . ExecuteNonQueryAsync ( cancellationToken ) . NotOnCapturedContext ( ) ;
0 commit comments