예제 #1
0
        private IMigrationProcessor CreateMigrationProcessor(Announcer announcer)
        {
            var options = new ProcessorOptions
            {
                PreviewOnly = false,                 // set to true to see the SQL
                Timeout     = 60,
            };

            EnsureConnectionAvailable(_connectionString);

            var factory = new SqlServer2012ProcessorFactory();
            IMigrationProcessor processor = factory.Create(_connectionString, announcer, options);

            return(processor);
        }
예제 #2
0
        private void MigrateTo(long targetVersion)
        {
            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60
            };
            var announcer        = new NullAnnouncer();
            var processor        = new SqlServer2012ProcessorFactory().Create(connectionString, announcer, options);
            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = "DDDEastAnglia.DatabaseMigrations.Migrations"
            };

            var runner = new MigrationRunner(GetType().Assembly, migrationContext, processor);

            runner.MigrateUp(targetVersion, true);
        }
예제 #3
0
        public void Load()
        {
            Announcer      announcer = new TextWriterAnnouncer(x => Debug.WriteLine(""));
            var            assembly  = Assembly.GetExecutingAssembly();
            IRunnerContext ctx       = new RunnerContext(announcer);
            var            options   = new ProcessorOptions
            {
                PreviewOnly = false,
                Timeout     = 40
            };
            var    factory   = new SqlServer2012ProcessorFactory();
            string con       = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();
            var    processer = factory.Create(con, announcer, options);

            var runner = new MigrationRunner(assembly, ctx, processer);

            runner.MigrateUp();
        }