private void _UpgradeDatabase() { var configuration = IoC.Resolve <INhibernateConfigurator>().GetConfiguration(); var connectionString = configuration.Properties["connection.connection_string"]; var connectionDriverClass = configuration.Properties["connection.driver_class"]; var dbProviderName = _GetDbProviderName(connectionDriverClass); var assemblyLocation = _GetAssemblyLocation(); var folderWithSqlFiles = Path.Combine(assemblyLocation, "EmailMaker.Database", dbProviderName); var builderOfDatabase = new BuilderOfDatabase(_getDbConnection); builderOfDatabase.BuildDatabase(folderWithSqlFiles); IDbConnection _getDbConnection() { switch (dbProviderName) { case string x when x.Contains("sqlite"): return(new SQLiteConnection(connectionString)); case string x when x.Contains("sqlserver"): return(new SqlConnection(connectionString)); case string x when x.Contains("postgresql"): return(new NpgsqlConnection(connectionString)); default: throw new Exception("Unsupported NHibernate connection.driver_class"); } } }
public void Context() { var builderOfDatabase = new BuilderOfDatabase(GetDbConnection); DropDatabaseObjectsToMakeDatabaseEmpty(); builderOfDatabase.BuildDatabase(SqlFilesDirectoryPath); }
protected void Application_Start(object sender, EventArgs e) { var connectionString = ConfigurationManager.ConnectionStrings["Legacy"].ConnectionString; var scriptsDirectoryPath = Path.Combine(_GetAssemblyLocation(), @"..\..\DatabaseScripts"); var builderOfDatabase = new BuilderOfDatabase(() => new SqlConnection(connectionString)); builderOfDatabase.BuildDatabase(scriptsDirectoryPath); }
private void _BuildDatabase() { var connectionString = ConfigurationManager.ConnectionStrings["Legacy"].ConnectionString; var scriptsDirectoryPath = Path.Combine(_GetAssemblyCodeBaseLocation(), @"..\..\DatabaseScripts"); var builderOfDatabase = new BuilderOfDatabase(() => new SqlConnection(connectionString)); builderOfDatabase.BuildDatabase(scriptsDirectoryPath); }
public void Context() { _loggedMessages = new List <string>(); Action <string> logAction = loggedMessage => _loggedMessages.Add(loggedMessage); var builderOfDatabase = new BuilderOfDatabase(GetDbConnection, logAction: logAction); DropDatabaseObjectsToMakeDatabaseEmpty(); builderOfDatabase.BuildDatabase(SqlFilesDirectoryPath); }
private void _BuildDatabase(IApplicationBuilder app) { var serviceProvider = app.ApplicationServices; var nhibernateConfigurator = serviceProvider.GetService <INhibernateConfigurator>(); var configuration = nhibernateConfigurator.GetConfiguration(); var connectionString = configuration.Properties["connection.connection_string"]; var scriptsDirectoryPath = Path.Combine(_GetAssemblyCodeBaseLocation(), "DatabaseScripts"); var builderOfDatabase = new BuilderOfDatabase(() => new NpgsqlConnection(connectionString)); builderOfDatabase.BuildDatabase(scriptsDirectoryPath); }
private void _CreateDatabase() { using (var nhibernateConfigurator = new CoreDddSharedNhibernateConfigurator()) { var configuration = nhibernateConfigurator.GetConfiguration(); var connectionString = configuration.Properties["connection.connection_string"]; var scriptsDirectoryPath = Path.Combine(_GetAssemblyCodeBaseLocation(), "DatabaseScripts"); var builderOfDatabase = new BuilderOfDatabase(() => new SqlConnection(connectionString)); builderOfDatabase.BuildDatabase(scriptsDirectoryPath); } }
public void Context() { var builderOfDatabase = new BuilderOfDatabase(GetDbConnection, reRunnableScriptsDirectoryName: ReRunnableScriptsDirectoryName); DropDatabaseObjectsToMakeDatabaseEmpty(); _hideReRunnableScriptsDirectory(); builderOfDatabase.BuildDatabase(SqlFilesDirectoryPath); void _hideReRunnableScriptsDirectory() { _reRunnableScriptsDirectoryPath = Path.Combine(SqlFilesDirectoryPath, ReRunnableScriptsDirectoryName); _hiddenReRunnableScriptsDirectoryPath = Path.Combine(SqlFilesDirectoryPath, ReRunnableScriptsDirectoryName + "_HIDDEN"); Directory.Move(_reRunnableScriptsDirectoryPath, _hiddenReRunnableScriptsDirectoryPath); } }
public void SetUp() { _acquireSynchronizationMutex(); CoreDddNhibernateInstaller.SetUnitOfWorkLifeStyle(x => x.PerThread); _windsorContainer = new WindsorContainer(); _windsorContainer.Install( FromAssembly.Containing <CoreDddNhibernateInstaller>(), FromAssembly.Containing <EmailMakerNhibernateInstaller>() ); IoC.Initialize(new CastleContainer(_windsorContainer)); _buildDatabase(); void _acquireSynchronizationMutex() { var mutexName = GetType().Namespace; _mutex = new Mutex(false, mutexName); if (!_mutex.WaitOne(TimeSpan.FromSeconds(60))) { throw new Exception( "Timeout waiting for synchronization mutex to prevent other .net frameworks running concurrent tests over the same database"); } } void _buildDatabase() { var configuration = IoC.Resolve <INhibernateConfigurator>().GetConfiguration(); var connectionString = configuration.Properties["connection.connection_string"]; var connectionDriverClass = configuration.Properties["connection.driver_class"]; var dbProviderName = _GetDbProviderName(connectionDriverClass); var assemblyLocation = _GetAssemblyLocation(); var folderWithSqlFiles = Path.Combine(assemblyLocation, "EmailMaker.Database", dbProviderName); var builderOfDatabase = new BuilderOfDatabase(createConnectionFunc: _createDbConnection); builderOfDatabase.BuildDatabase(folderWithSqlFiles); IDbConnection _createDbConnection() { switch (dbProviderName) { case string x when x.Contains("sqlite"): return(new SQLiteConnection(connectionString)); case string x when x.Contains("sqlserver"): return(new SqlConnection(connectionString)); case string x when x.Contains("postgresql"): return(new NpgsqlConnection(connectionString)); default: throw new Exception("Unsupported NHibernate connection.driver_class"); } } } }