public RedshiftVersionManager( IScriptRepo scriptRepo, string host, int port, string database, string username, string password) { ScriptRepo = scriptRepo; Host = host; Port = port; Database = database; Username = username; Password = password; DbContext = new VersionManagerDbContext(Host, Port, Database, Username, Password); }
public SqlServerVersionManager( string folder, string server, string username, string password, string databaseName, bool createDatabase = false, ILogger logger = null ) { Folder = folder; Password = password; Username = username; ServerInstance = server; DatabaseName = databaseName; Connection = new ServerConnection(serverInstance: ServerInstance, userName: Username, password: Password); Server = new Server(Connection); Logger = logger; if ( createDatabase && !string.IsNullOrEmpty(databaseName) && !Server.Databases.Contains(databaseName)) { CreateDatabase(); } IntializeDatabase(); LoadScripts(Folder); if (!string.IsNullOrEmpty(databaseName)) { var sqlConnectionStringBuilder = new SqlConnectionStringBuilder(); sqlConnectionStringBuilder.UserID = username; sqlConnectionStringBuilder.Password = password; sqlConnectionStringBuilder["Server"] = server; sqlConnectionStringBuilder.InitialCatalog = databaseName; var builder = new DbContextOptionsBuilder <VersionManagerDbContext>(); builder.UseSqlServer(sqlConnectionStringBuilder.ConnectionString); context = new VersionManagerDbContext(builder.Options); } }