Esempio n. 1
0
 public virtual void AfterEach()
 {
     ScriptProvider = null;
     VersionTracker = null;
     ScriptExecutor = null;
     Log = null;
     DbUpgrader = null;
 }
Esempio n. 2
0
        public virtual void BeforeEach()
        {
            ScriptProvider = Substitute.For<IScriptProvider> ();
            VersionTracker = Substitute.For<IJournal> ();
            ScriptExecutor = Substitute.For<IScriptExecutor> ();
            ScriptPreprocessor = Substitute.For<IScriptPreprocessor>();

            Log = Substitute.For<IUpgradeLog> ();

            var config = new UpgradeConfiguration();

            config.ScriptPreprocessors.Add(ScriptPreprocessor);
            config.ScriptProviders.Add(ScriptProvider);
            config.ScriptExecutor = ScriptExecutor;
            config.Journal = VersionTracker;
            config.Log = Log;

            DbUpgrader = new ScriptExecutingEngine(config);
        }
Esempio n. 3
0
        public static void Main(string[] args)
        {
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["test"].ConnectionString);
            //builder.InitialCatalog = Guid.NewGuid().ToString();
            string connectionString = builder.ToString();

            DbInstallerConfiguration installerConfig = new DbInstallerConfiguration();
            installerConfig.ConnectionString = connectionString;
            installerConfig.Logger = new ConsoleUpgradeLog();
            installerConfig.DatabaseServerAdapter = new MsSqlServerAdapter();
            installerConfig.Journal = new DbVersionJournal();
            installerConfig.ScriptProviders.Add(DbVersionJournal.GetEmbeddedScriptProvder(typeof(Program).Assembly));

            ScriptExecutingEngine executor = new ScriptExecutingEngine(installerConfig);

            DbUp.Engine.ScriptExecutingEngine.DbInstallerMode installerMode = ScriptExecutingEngine.DbInstallerMode.Upgrade;

            Console.WriteLine("Database connection string: " + connectionString);
            if (executor.DoesDbExist)
            {
                Console.WriteLine("Database exists!");
                Console.WriteLine("current version: " + executor.CurrentDbVersion);

                Console.WriteLine("1: Upgrade");
                Console.WriteLine("2: Reinstall");
                Console.WriteLine("3: Remove");

                string choice = Console.ReadLine();
                if (choice == "1")
                    installerMode = ScriptExecutingEngine.DbInstallerMode.Upgrade;
                else if (choice == "2")
                    installerMode = ScriptExecutingEngine.DbInstallerMode.Create;
                else if (choice == "3")
                    installerMode = ScriptExecutingEngine.DbInstallerMode.Drop;
                else
                    Environment.Exit(0);
            }
            else
            {
                Console.WriteLine("Database does not exist.  Create?");

                string choice = Console.ReadLine();
                if (choice.StartsWith("y", StringComparison.InvariantCultureIgnoreCase))
                    installerMode = ScriptExecutingEngine.DbInstallerMode.Create;
                else
                    Environment.Exit(0);
            }

            Console.WriteLine("You have chosen to " + installerMode + " your database, hit enter to continue");
            Console.ReadLine();

            executor.Execute(installerMode);

            Console.WriteLine("done");
            Console.ReadLine();

            ////installerConfig.ConnectionFactory = () => new SqlConnection(uc.ConnectionString);
            ////installerConfig.Journal = new SqlTableJournal(() => new SqlConnection(connectionString), "DbVersion", new ConsoleUpgradeLog());
            ////installerConfig.Log = new ConsoleUpgradeLog();

            ////installerConfig.ScriptProviders.Add(new EmbeddedScriptProvider(typeof(Program).Assembly, (fileName) => fileName.EndsWith(".sql")));

            //if(executor.DoesDbExist)
            //{
            //    Console.WriteLine("Db Exists.  Press enter to upgrade");
            //    Console.ReadKey();
            // //   executor.Upgrade();
            //}
            //else{
            //    Console.WriteLine("Db does not.  Press enter to install");
            //    executor.Install();
            //}
            ////executor.Upgrade();
            ////
        }