1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-15 10:08:14 -05:00

read connection string from env file for migration

This commit is contained in:
Kyle Spearrin 2018-10-31 23:32:22 -04:00
parent 5136b191f1
commit bb1860d861
3 changed files with 20 additions and 24 deletions

View File

@ -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<string, string>
{
["globalSettings__baseServiceUri__vault"] = _context.Config.Url,

View File

@ -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"))

View File

@ -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))
{