public InvocationResponse CreateDatabase(string targetModel, DatabaseConfigModel config) { var targetConfigurator = GetTargetConfigurator(targetModel); if (targetConfigurator == null) { return(new InvocationResponse("No configurator found")); } // Update config copy from model var updatedConfig = UpdateConfigFromModel(targetConfigurator.Config, config); try { var creationResult = targetConfigurator.CreateDatabase(updatedConfig); return(creationResult ? new InvocationResponse() : new InvocationResponse("Cannot create database. May be the database already exists or was misconfigured.")); } catch (Exception ex) { Logger.LogException(LogLevel.Warning, ex, "Database creation failed!"); return(new InvocationResponse(ex)); } }
public void SetAllConfigs(DatabaseConfigModel config) { // Overwrite all configs BulkOperation(mc => { // Save and reload config UpdateConfigFromModel(mc.Config, config); mc.UpdateConfig(); }, "Save config"); }
public void SetDatabaseConfig(string targetModel, DatabaseConfigModel config) { var match = GetTargetConfigurator(targetModel); if (match == null) { return; } // Save config and reload all DataModels UpdateConfigFromModel(match.Config, config); match.UpdateConfig(); }
public InvocationResponse RollbackDatabase(string targetModel, DatabaseConfigModel config) { var targetConfigurator = GetTargetConfigurator(targetModel); if (targetConfigurator == null) { return(new InvocationResponse("No configurator found")); } var updatedConfig = UpdateConfigFromModel(targetConfigurator.Config, config); var rollbackResult = targetConfigurator.RollbackDatabase(updatedConfig); return(rollbackResult ? new InvocationResponse() : new InvocationResponse("Error while rollback!")); }
public InvocationResponse DumpDatabase(string targetModel, DatabaseConfigModel config) { var targetConfigurator = GetTargetConfigurator(targetModel); if (targetConfigurator == null) { return(new InvocationResponse("No configurator found")); } var updatedConfig = UpdateConfigFromModel(targetConfigurator.Config, config); targetConfigurator.DumpDatabase(updatedConfig, Config.SetupDataDir); return(new InvocationResponse()); }
public TestConnectionResponse TestDatabaseConfig(string targetModel, DatabaseConfigModel config) { var targetConfigurator = GetTargetConfigurator(targetModel); if (targetConfigurator == null) { return new TestConnectionResponse { Result = TestConnectionResult.ConfigurationError } } ; // Update config copy from model var updatedConfig = UpdateConfigFromModel(targetConfigurator.Config, config); var result = targetConfigurator.TestConnection(updatedConfig); return(new TestConnectionResponse { Result = result }); }
public InvocationResponse DumpDatabase(string targetModel, DatabaseConfigModel config) { var targetConfigurator = GetTargetConfigurator(targetModel); if (targetConfigurator == null) { return(new InvocationResponse("No configurator found")); } var updatedConfig = UpdateConfigFromModel(targetConfigurator.Config, config); var targetPath = Path.Combine(Config.SetupDataDir, targetModel); if (!Directory.Exists(targetPath)) { Directory.CreateDirectory(targetPath); } targetConfigurator.DumpDatabase(updatedConfig, targetPath); return(new InvocationResponse()); }
public InvocationResponse EraseDatabase(string targetModel, DatabaseConfigModel config) { var targetConfigurator = GetTargetConfigurator(targetModel); if (targetConfigurator == null) { return(new InvocationResponse("No configurator found")); } // Update config copy from model var updatedConfig = UpdateConfigFromModel(targetConfigurator.Config, config); try { targetConfigurator.DeleteDatabase(updatedConfig); return(new InvocationResponse()); } catch (Exception ex) { Logger.LogException(LogLevel.Warning, ex, "Database deletion failed!"); return(new InvocationResponse(ex)); } }
private static IDatabaseConfig UpdateConfigFromModel(IDatabaseConfig dbConfig, DatabaseConfigModel model) { dbConfig.Host = model.Server; dbConfig.Port = model.Port; dbConfig.Database = model.Database; dbConfig.Username = model.User; dbConfig.Password = model.Password; return(dbConfig); }
public DatabaseUpdateSummary MigrateDatabaseModel(string targetModel, string migrationName, DatabaseConfigModel configModel) { var targetConfigurator = GetTargetConfigurator(targetModel); if (targetConfigurator == null) { return new DatabaseUpdateSummary { WasUpdated = false } } ; var config = UpdateConfigFromModel(targetConfigurator.Config, configModel); return(targetConfigurator.MigrateDatabase(config, migrationName)); }