public DataMigrationScriptsExecuter(ISqlExecuter sqlExecuter, ILogProvider logProvider, DataMigrationScripts dataMigrationScripts, DbUpdateOptions dbUpdateOptions, SqlTransactionBatches sqlTransactionBatches) { _sqlExecuter = sqlExecuter; _logger = logProvider.GetLogger("DataMigration"); _dataMigrationScripts = dataMigrationScripts; _sqlTransactionBatches = sqlTransactionBatches; _dbUpdateOptions = dbUpdateOptions; }
public KeepSynchronizedRecomputeOnDeploy( GenericRepositories genericRepositories, ILogProvider logProvider, CurrentKeepSynchronizedMetadata currentKeepSynchronizedMetadata, DbUpdateOptions dbUpdateOptions, IDslModel dslModel) { _genericRepositories = genericRepositories; _performanceLogger = logProvider.GetLogger("Performance." + GetType().Name); _logger = logProvider.GetLogger("KeepSynchronizedRecomputeOnDeploy"); _currentKeepSynchronizedMetadata = currentKeepSynchronizedMetadata; _dbUpdateOptions = dbUpdateOptions; _dslModel = dslModel; }
public DatabaseGenerator( SqlTransactionBatches sqlTransactionBatches, IConceptApplicationRepository conceptApplicationRepository, ILogProvider logProvider, DbUpdateOptions dbUpdateOptions, DatabaseAnalysis databaseAnalysis) { _sqlTransactionBatches = sqlTransactionBatches; _conceptApplicationRepository = conceptApplicationRepository; _logger = logProvider.GetLogger(GetType().Name); _changesLogger = logProvider.GetLogger("DatabaseGeneratorChanges"); _performanceLogger = logProvider.GetLogger("Performance." + GetType().Name); _dbUpdateOptions = dbUpdateOptions; _databaseAnalysis = databaseAnalysis; }
public DatabaseDeployment( ILogProvider logProvider, ISqlExecuter sqlExecuter, DatabaseCleaner databaseCleaner, DataMigrationScriptsExecuter dataMigrationScriptsExecuter, IDatabaseGenerator databaseGenerator, IConceptDataMigrationExecuter dataMigrationFromCodeExecuter, DbUpdateOptions options) { _logger = logProvider.GetLogger(GetType().Name); _sqlExecuter = sqlExecuter; _databaseCleaner = databaseCleaner; _dataMigrationScriptsExecuter = dataMigrationScriptsExecuter; _databaseGenerator = databaseGenerator; _dataMigrationFromCodeExecuter = dataMigrationFromCodeExecuter; _options = options; }
private string TestExecuteDataMigrationScripts(string[] scriptsDescriptions, out List <string> log, out List <string> sqlLog, bool skipScriptsWithWrongOrder = false) { log = new List <string>(); var sqlExecuterLog = new SqlExecuterLog(); sqlLog = sqlExecuterLog; using (var container = new RhetosTestContainer()) { container.InitializeSession += builder => { builder.RegisterInstance(sqlExecuterLog).ExternallyOwned(); builder.RegisterDecorator <SqlExecuterMonitor, ISqlExecuter>(); }; container.AddLogMonitor(log); var sqlExecuter = container.Resolve <ISqlExecuter>(); sqlExecuter.ExecuteSql("DELETE FROM Rhetos.DataMigrationScript"); var sqlBatches = container.Resolve <SqlTransactionBatches>(); int deployment = 0; foreach (string scriptsDescription in scriptsDescriptions) { sqlExecuter.ExecuteSql($"--DBUpdate: {++deployment}"); var dbUpdateOptions = new DbUpdateOptions() { DataMigrationSkipScriptsWithWrongOrder = skipScriptsWithWrongOrder }; var dataMigration = new DataMigrationScriptsExecuter(sqlExecuter, container.Resolve <ILogProvider>(), ParseDataMigrationScriptsFromScriptsDescription(scriptsDescription), dbUpdateOptions, sqlBatches); dataMigration.Execute(); } var report = new List <string>(); sqlExecuter.ExecuteReader("SELECT Path, Active FROM Rhetos.DataMigrationScript ORDER BY OrderExecuted", reader => report.Add(reader.GetString(0).Replace(".sql", "") + (reader.GetBoolean(1) ? "" : "-"))); return(string.Join(", ", report)); } }
private string TestExecuteDataMigrationScripts(string[] scriptsDescriptions, out List <string> log, out List <string> sqlLog, bool skipScriptsWithWrongOrder = false) { var systemLog = new List <string>(); log = systemLog; var sqlExecuterLog = new SqlExecuterLog(); sqlLog = sqlExecuterLog; using (var scope = TestScope.Create(builder => builder .ConfigureLogMonitor(systemLog) .ConfigureSqlExecuterMonitor(sqlExecuterLog))) { var sqlExecuter = scope.Resolve <ISqlExecuter>(); sqlExecuter.ExecuteSql("DELETE FROM Rhetos.DataMigrationScript"); var sqlBatches = scope.Resolve <SqlTransactionBatches>(); int deployment = 0; foreach (string scriptsDescription in scriptsDescriptions) { sqlExecuter.ExecuteSql($"--DBUpdate: {++deployment}"); var dbUpdateOptions = new DbUpdateOptions() { DataMigrationSkipScriptsWithWrongOrder = skipScriptsWithWrongOrder }; var dataMigration = new DataMigrationScriptsExecuter(sqlExecuter, scope.Resolve <ILogProvider>(), ParseDataMigrationScriptsFromScriptsDescription(scriptsDescription), dbUpdateOptions, sqlBatches); dataMigration.Execute(); } var report = new List <string>(); sqlExecuter.ExecuteReader("SELECT Path, Active FROM Rhetos.DataMigrationScript ORDER BY OrderExecuted", reader => report.Add(reader.GetString(0).Replace(".sql", "") + (reader.GetBoolean(1) ? "" : "-"))); return(string.Join(", ", report)); } }