Format ./web/backend/Database/Database.Migrations

This commit is contained in:
Aaron Po
2026-06-20 15:13:31 -04:00
parent 4772f59a68
commit bf0d29fa54
2 changed files with 31 additions and 24 deletions

View File

@@ -9,11 +9,11 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="dbup" Version="5.0.41"/> <PackageReference Include="dbup" Version="5.0.41" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.2"/> <PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.2" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="scripts/**/*.sql"/> <EmbeddedResource Include="scripts/**/*.sql" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="..\..\.dockerignore"> <Content Include="..\..\.dockerignore">

View File

@@ -35,21 +35,25 @@ public static class Program
/// </exception> /// </exception>
private static string BuildConnectionString(string? databaseName = null) private static string BuildConnectionString(string? databaseName = null)
{ {
string server = Environment.GetEnvironmentVariable("DB_SERVER") string server =
?? throw new InvalidOperationException("DB_SERVER environment variable is not set"); Environment.GetEnvironmentVariable("DB_SERVER")
?? throw new InvalidOperationException("DB_SERVER environment variable is not set");
string dbName = databaseName string dbName =
?? Environment.GetEnvironmentVariable("DB_NAME") databaseName
?? throw new InvalidOperationException("DB_NAME environment variable is not set"); ?? Environment.GetEnvironmentVariable("DB_NAME")
?? throw new InvalidOperationException("DB_NAME environment variable is not set");
string user = Environment.GetEnvironmentVariable("DB_USER") string user =
?? throw new InvalidOperationException("DB_USER environment variable is not set"); Environment.GetEnvironmentVariable("DB_USER")
?? throw new InvalidOperationException("DB_USER environment variable is not set");
string password = Environment.GetEnvironmentVariable("DB_PASSWORD") string password =
?? throw new InvalidOperationException("DB_PASSWORD environment variable is not set"); Environment.GetEnvironmentVariable("DB_PASSWORD")
?? throw new InvalidOperationException("DB_PASSWORD environment variable is not set");
string trustServerCertificate = Environment.GetEnvironmentVariable("DB_TRUST_SERVER_CERTIFICATE") string trustServerCertificate =
?? "True"; Environment.GetEnvironmentVariable("DB_TRUST_SERVER_CERTIFICATE") ?? "True";
SqlConnectionStringBuilder builder = new() SqlConnectionStringBuilder builder = new()
{ {
@@ -58,7 +62,7 @@ public static class Program
UserID = user, UserID = user,
Password = password, Password = password,
TrustServerCertificate = bool.Parse(trustServerCertificate), TrustServerCertificate = bool.Parse(trustServerCertificate),
Encrypt = true Encrypt = true,
}; };
return builder.ConnectionString; return builder.ConnectionString;
@@ -99,9 +103,10 @@ public static class Program
// First, set the database to single user mode to close all connections // First, set the database to single user mode to close all connections
SqlCommand setModeCommand = new( SqlCommand setModeCommand = new(
"IF EXISTS (SELECT 1 FROM sys.databases WHERE name = 'Biergarten') " + "IF EXISTS (SELECT 1 FROM sys.databases WHERE name = 'Biergarten') "
"ALTER DATABASE [Biergarten] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;", + "ALTER DATABASE [Biergarten] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;",
myConn); myConn
);
try try
{ {
setModeCommand.ExecuteNonQuery(); setModeCommand.ExecuteNonQuery();
@@ -132,7 +137,8 @@ public static class Program
} }
finally finally
{ {
if (myConn.State == ConnectionState.Open) myConn.Close(); if (myConn.State == ConnectionState.Open)
myConn.Close();
} }
return true; return true;
@@ -149,9 +155,9 @@ public static class Program
SqlConnection myConn = new(masterConnectionString); SqlConnection myConn = new(masterConnectionString);
const string str = """ const string str = """
IF NOT EXISTS (SELECT 1 FROM sys.databases WHERE name = 'Biergarten') IF NOT EXISTS (SELECT 1 FROM sys.databases WHERE name = 'Biergarten')
CREATE DATABASE [Biergarten] CREATE DATABASE [Biergarten]
"""; """;
SqlCommand myCommand = new(str, myConn); SqlCommand myCommand = new(str, myConn);
try try
@@ -166,7 +172,8 @@ public static class Program
} }
finally finally
{ {
if (myConn.State == ConnectionState.Open) myConn.Close(); if (myConn.State == ConnectionState.Open)
myConn.Close();
} }
return true; return true;
@@ -211,4 +218,4 @@ public static class Program
return 1; return 1;
} }
} }
} }