From bb1860d8610a630c7e14102ca7eb4c88ce6ff732 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 31 Oct 2018 23:32:22 -0400 Subject: [PATCH] read connection string from env file for migration --- util/Setup/EnvironmentFileBuilder.cs | 15 ++++++++++++++- util/Setup/Helpers.cs | 18 ------------------ util/Setup/Program.cs | 11 ++++++----- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/util/Setup/EnvironmentFileBuilder.cs b/util/Setup/EnvironmentFileBuilder.cs index 2ee963d838..e9d8127ee3 100644 --- a/util/Setup/EnvironmentFileBuilder.cs +++ b/util/Setup/EnvironmentFileBuilder.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Data.SqlClient; using System.IO; using System.Linq; @@ -68,7 +69,19 @@ namespace Bit.Setup private void Init() { var dbPassword = Helpers.SecureRandomString(32); - var dbConnectionString = Helpers.MakeSqlConnectionString("mssql", "vault", "sa", dbPassword); + var dbConnectionString = new SqlConnectionStringBuilder + { + DataSource = "tcp:mssql,1433", + InitialCatalog = "vault", + UserID = "sa", + Password = dbPassword, + MultipleActiveResultSets = false, + Encrypt = true, + ConnectTimeout = 30, + TrustServerCertificate = true, + PersistSecurityInfo = false + }.ConnectionString; + _globalOverrideValues = new Dictionary { ["globalSettings__baseServiceUri__vault"] = _context.Config.Url, diff --git a/util/Setup/Helpers.cs b/util/Setup/Helpers.cs index 43770aa1ef..8a5e1c0196 100644 --- a/util/Setup/Helpers.cs +++ b/util/Setup/Helpers.cs @@ -1,5 +1,4 @@ using System; -using System.Data.SqlClient; using System.Diagnostics; using System.IO; using System.Linq; @@ -94,23 +93,6 @@ namespace Bit.Setup return characters; } - public static string MakeSqlConnectionString(string server, string database, string username, string password) - { - var builder = new SqlConnectionStringBuilder - { - DataSource = $"tcp:{server},1433", - InitialCatalog = database, - UserID = username, - Password = password, - MultipleActiveResultSets = false, - Encrypt = true, - ConnectTimeout = 30, - TrustServerCertificate = true, - PersistSecurityInfo = false - }; - return builder.ConnectionString; - } - public static string GetValueFromEnvFile(string envFile, string key) { if(!File.Exists($"/bitwarden/env/{envFile}.override.env")) diff --git a/util/Setup/Program.cs b/util/Setup/Program.cs index 4042d9b437..170b143d7f 100644 --- a/util/Setup/Program.cs +++ b/util/Setup/Program.cs @@ -146,11 +146,12 @@ namespace Bit.Setup { Console.WriteLine("Migrating database."); - var dbPass = Helpers.GetValueFromEnvFile("mssql", "SA_PASSWORD"); - var masterConnectionString = Helpers.MakeSqlConnectionString( - "mssql", "master", "sa", dbPass ?? string.Empty); - var vaultConnectionString = Helpers.MakeSqlConnectionString( - "mssql", "vault", "sa", dbPass ?? string.Empty); + var vaultConnectionString = Helpers.GetValueFromEnvFile("global", + "globalSettings__sqlServer__connectionString"); + var masterConnectionString = new SqlConnectionStringBuilder(vaultConnectionString) + { + InitialCatalog = "master" + }.ConnectionString; using(var connection = new SqlConnection(masterConnectionString)) {