/// <summary> /// Runs all SQL scripts against the given database /// </summary> /// <param name="connectionString"></param> /// <param name="reset"></param> public static void UpgradeDatabase(string connectionString, bool reset) { Console.Out.WriteLine($"Connection String: {connectionString}"); Console.Out.WriteLine($"Reset data: {reset}"); // Create the DB if it doesn't exist EnsureDatabase.For.SqlDatabase(connectionString); #if (DEBUG) if (reset) { Console.Out.WriteLine("Running reset script"); DbUp.Engine.DatabaseUpgradeResult resetResult = Run(connectionString, "Scripts.Reset", false); if (!resetResult.Successful) { Console.Error.WriteLine(resetResult.Error); return; } } #endif Console.Out.WriteLine("Running scripts"); DbUp.Engine.DatabaseUpgradeResult oneTimeResult = Run(connectionString, "Scripts.Upgrade"); if (!oneTimeResult.Successful) { Console.Error.WriteLine(oneTimeResult); return; } }
public ScriptTypeScenarios() { upgradeResult = null; scripts = new List <SqlScript> { new SqlScript("Script1.sql", "create table Foo (Id int identity)", new DbUp.Engine.SqlScriptOptions { ScriptType = ScriptType.RunOnce }), new SqlScript("Script2.sql", "alter table Foo add column Name varchar(255)", new DbUp.Engine.SqlScriptOptions { ScriptType = ScriptType.RunOnce }), new SqlScript("Script3.sql", "insert into Foo (Name) values ('test')", new DbUp.Engine.SqlScriptOptions { ScriptType = ScriptType.RunAlways }) }; logger = new CaptureLogsLogger(); recordingConnection = new RecordingDbConnection(logger, "SchemaVersions"); testConnectionFactory = new DelegateConnectionFactory(_ => recordingConnection); upgradeEngineBuilder = DeployChanges.To .SqlDatabase("testconn") .WithScripts(new TestScriptProvider(scripts)) .OverrideConnectionFactory(testConnectionFactory) .LogTo(logger); }
public static void WriteExecutedScriptsToOctopusTaskSummary(this DbUp.Engine.DatabaseUpgradeResult result) { }
void WhenDatabaseIsUpgraded() { upgradeEngine = upgradeEngineBuilder.Build(); upgradeResult = upgradeEngine.PerformUpgrade(); }