using Database.Connection; using Microsoft.Data.SqlClient; using Microsoft.Extensions.Configuration; namespace Database.Migrations; /// /// implementation that connects to the master database, /// used for create and drop operations on the target application database. /// public class MasterSqlConnectionFactory(IConfiguration configuration) : ISqlConnectionFactory { /// public string ConnectionString { get { if ( SqlConnectionStringHelper.TryGetMasterConnectionString( configuration, out var connectionString ) ) return connectionString; throw new InvalidOperationException( "Database connection string not configured. Set DB_SERVER, DB_USER, DB_PASSWORD env vars." ); } } /// public SqlConnection CreateConnection() { return new SqlConnection(ConnectionString); } }