Example #1
0
        /// <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);
        }
Example #3
0
 public static void WriteExecutedScriptsToOctopusTaskSummary(this DbUp.Engine.DatabaseUpgradeResult result)
 {
 }
 void WhenDatabaseIsUpgraded()
 {
     upgradeEngine = upgradeEngineBuilder.Build();
     upgradeResult = upgradeEngine.PerformUpgrade();
 }