コード例 #1
0
        public static void MigrateUp(string connectionString, string MigrationNamespace, long?toVersion = null)
        {
            var announcer        = new TextWriterAnnouncer(s => System.Diagnostics.Debug.WriteLine(s));
            var assembly         = Assembly.GetExecutingAssembly();
            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = MigrationNamespace
            };
            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60
            };
            var factory = new FluentMigrator.Runner.Processors.Postgres.PostgresProcessorFactory();

            using (var processor = factory.Create(connectionString, announcer, options))
            {
                var runner = new MigrationRunner(assembly, migrationContext, processor);
                if (toVersion == null)
                {
                    runner.MigrateUp(true);
                }
                else
                {
                    runner.MigrateUp(toVersion.Value);
                }
            }
        }
コード例 #2
0
        public static void MigrateUp(string connectionString, long?migrationId)
        {
            var announcer = GetAnnouncer();
            var assembly  = Assembly.GetAssembly(typeof(Seed));

            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = typeof(Seed).Namespace
            };

            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60, ProviderSwitches = null
            };
            var factory = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2008ProcessorFactory();

            using (var processor = factory.Create(connectionString, announcer, options))
            {
                var runner = new MigrationRunner(assembly, migrationContext, processor);
                if (migrationId.HasValue)
                {
                    runner.MigrateUp(migrationId.Value, true);
                }
                else
                {
                    runner.MigrateUp(true);
                }
            }
        }
コード例 #3
0
        public void Migrate(string connectionString, MigrationContext migrationContext)
        {
            var sw = Stopwatch.StartNew();

            _announcer.Heading("Migrating " + connectionString);

            var assembly = Assembly.GetExecutingAssembly();

            var runnerContext = new RunnerContext(_announcer)
            {
                Namespace          = "NzbDrone.Core.Datastore.Migration",
                ApplicationContext = migrationContext
            };

            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60
            };
            var factory   = new NzbDroneSqliteProcessorFactory();
            var processor = factory.Create(connectionString, _announcer, options);
            var runner    = new MigrationRunner(assembly, runnerContext, processor);

            if (migrationContext.DesiredVersion.HasValue)
            {
                runner.MigrateUp(migrationContext.DesiredVersion.Value, true);
            }
            else
            {
                runner.MigrateUp(true);
            }

            sw.Stop();

            _announcer.ElapsedTime(sw.Elapsed);
        }
コード例 #4
0
        /// <summary>
        /// Upgrades the database to the latest version
        /// </summary>
        /// <param name="processorFactory"></param>
        /// <param name="connectionString"></param>
        public static void MigrateToLatest(
            MigrationProcessorFactory processorFactory,
            string connectionString)
        {
            var announcer = new TextWriterAnnouncer(s => System.Diagnostics.Debug.WriteLine(s));

            var migrationContext = new RunnerContext(announcer)
            {
                Targets = new[]
                {
                    nameof(Migrator)
                }
            };

            // Since migrations might take long increase the command timeout for this. The timeout is in seconds
            var options = new MigrationProcessorOptions {
                PreviewOnly = false, Timeout = 60 * 30
            };                                                                                      // 30 minutes

            using (var processor = processorFactory.Create(connectionString, announcer, options))
            {
                var runner = new MigrationRunner(Assembly.GetAssembly(typeof(Migrator)), migrationContext, processor);
                runner.MigrateUp(true);
            }
        }
コード例 #5
0
        // Runs all migrations in the assembly of specified type
        public static void RunMigrations(string connectionString, MigrationsAssembly migrationsAssembly, MigrationProcessorFactory factory = null)
        {
            try
            {
                var announcer = new NullAnnouncer();
                //var announcer = new TextWriterAnnouncer(s => System.Diagnostics.Debug.WriteLine(s));
                var assembly = migrationsAssembly.Assembly;

                var migrationContext = new RunnerContext(announcer);

                var options = new MigrationOptions {
                    PreviewOnly = false, Timeout = 60
                };

                var processor = (factory ?? new SqlServerProcessorFactory()).Create(connectionString, announcer, options);
                var runner    = new MigrationRunner(assembly, migrationContext, processor);
                runner.MigrateUp(useAutomaticTransactionManagement: true);

                processor.Dispose();
            }
            catch (Exception ex)
            {
                var message = string.Format("Failed to run migrations for {0}", connectionString);
                throw new Exception(message, ex);
            }
        }
コード例 #6
0
ファイル: MigratorRunner.cs プロジェクト: RunWay21/Tetris
        public void MigrateToLatest()
        {
            try
            {
                var connectionString = _settingsService.ConnectionString(DatabaseContext.DefaultConnectionString);

                var announcer = new NullAnnouncer();

                var assembly = Assembly.GetExecutingAssembly();

                var migrationContext = new RunnerContext(announcer)
                {
                    NestedNamespaces = true,
                    Namespace        = "Database.Migrations",
                    Connection       = connectionString
                };
                var options = new MigrationOptions {
                    PreviewOnly = false, Timeout = 60
                };
                var factory = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2014ProcessorFactory();
                using (var processor = factory.Create(connectionString, announcer, options))
                {
                    var runner = new MigrationRunner(assembly, migrationContext, processor);
                    runner.MigrateUp(true);
                }
            }
            catch (Exception e)
            {
            }
        }
コード例 #7
0
        public void MigrateToLatest(string connectionString, MigrationType migrationType)
        {
            _announcer.Heading("Migrating " + connectionString);

            var assembly = Assembly.GetExecutingAssembly();

            var migrationContext = new RunnerContext(_announcer)
            {
                Namespace          = "NzbDrone.Core.Datastore.Migration",
                ApplicationContext = new MigrationContext
                {
                    MigrationType   = migrationType,
                    SQLiteAlter     = _sqLiteAlter,
                    MigrationHelper = _migrationHelper,
                }
            };

            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60
            };
            var factory   = new SqliteProcessorFactory();
            var processor = factory.Create(connectionString, _announcer, options);
            var runner    = new MigrationRunner(assembly, migrationContext, processor);

            runner.MigrateUp(true);
        }
コード例 #8
0
ファイル: SharpStarDb.cs プロジェクト: r00t-s/SharpStar
        public void MigrateToLatest()
        {
            var announcer = new TextWriterAnnouncer(s => SharpStarLogger.DefaultLogger.Debug(s));
            var assembly  = Assembly.GetExecutingAssembly();

            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = "SharpStar.Database.Migrations"
            };

            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60
            };

            ReflectionBasedDbFactory factory;

            if (MonoHelper.IsRunningOnMono())
            {
                factory = new MonoSQLiteDbFactory();
            }
            else
            {
                factory = new SqliteDbFactory();
            }

            var connection = factory.CreateConnection(_config.GetProperty(NHibernate.Cfg.Environment.ConnectionString));

            var processor = new SqliteProcessor(connection, new SqliteGenerator(), announcer, options, factory);
            var runner    = new MigrationRunner(assembly, migrationContext, processor);

            runner.MigrateUp(true);
        }
コード例 #9
0
ファイル: MigrationController.cs プロジェクト: z00nx/Sonarr
        public void MigrateToLatest(string connectionString, MigrationType migrationType, Action <NzbDroneMigrationBase> beforeMigration)
        {
            var sw = Stopwatch.StartNew();

            _announcer.Heading("Migrating " + connectionString);

            var assembly = Assembly.GetExecutingAssembly();

            var migrationContext = new RunnerContext(_announcer)
            {
                Namespace          = "NzbDrone.Core.Datastore.Migration",
                ApplicationContext = new MigrationContext(migrationType, beforeMigration)
            };

            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60
            };
            var factory   = new NzbDroneSqliteProcessorFactory();
            var processor = factory.Create(connectionString, _announcer, options);
            var runner    = new MigrationRunner(assembly, migrationContext, processor);

            runner.MigrateUp(true);

            sw.Stop();

            _announcer.ElapsedTime(sw.Elapsed);
        }
コード例 #10
0
        private void CreateDatabaseSchemaInMemory(string connectionString)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException("connectionString");
            }

            // Enable testing profile in FluentMigrator.
            Environment.SetEnvironmentVariable("TestingProfile", "1", EnvironmentVariableTarget.Process);

            // Create migration announcer.
            var announcer = new ConsoleAnnouncer();

            // Create migration context.
            var migrationContext = new RunnerContext(announcer);

            // Create migration options, factory and runner.
            var options = new ProcessorOptions
            {
                PreviewOnly = false,
                Timeout     = 60
            };
            var factory   = new SqliteProcessorFactory();
            var processor = factory.Create(connectionString, announcer, options);
            var runner    = new MigrationRunner(Assembly.GetAssembly(typeof(MigrationExtensions)), migrationContext, processor);

            // Update database.
            runner.MigrateUp(long.MaxValue, true);
        }
コード例 #11
0
        public void Executa()
        {
            const BancoDeDados bancoDeDados = BancoDeDados.Postgresql;

            var connectionString = bancoDeDados.GetStringConexao();

            Announcer announcer = new TextWriterAnnouncer(s => System.Diagnostics.Debug.WriteLine(s));

            announcer.ShowSql = true;

            var            assembly         = Assembly.GetExecutingAssembly();
            IRunnerContext migrationContext = new RunnerContext(announcer);

            var options = new ProcessorOptions
            {
                PreviewOnly = false,  // set to true to see the SQL
                Timeout     = 60
            };

            var factory = bancoDeDados.GetFactory();

            using (var processor = factory.Create(connectionString, announcer, options))
            {
                var runner = new MigrationRunner(assembly, migrationContext, processor);
                runner.MigrateUp(true);
            }
        }
コード例 #12
0
        protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
        {
            base.ApplicationStartup(container, pipelines);

            var announcer = new NullAnnouncer();
            var assembly  = Assembly.GetExecutingAssembly();

            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = "Server.Migrations"
            };

            var options   = new MigrationOptions();
            var factory   = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2008ProcessorFactory();
            var processor = factory.Create(
                ConfigurationManager.ConnectionStrings["Simple.Data.Properties.Settings.DefaultConnectionString"].ConnectionString,
                announcer,
                options);
            var runner = new MigrationRunner(assembly, migrationContext, processor);

            runner.MigrateUp(true);

            pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration(new UserValidator(), "CPNRealm"));

            JsonSettings.RetainCasing = true;

            StaticConfiguration.DisableErrorTraces = false;
        }
コード例 #13
0
        public static void Run(IContainer settingsContainer)
        {
            var connectionString = settingsContainer.GetInstance <string>("DefaultConnection");

            Announcer announcer = new TextWriterAnnouncer(s => System.Diagnostics.Debug.WriteLine(s));

            announcer.ShowSql = true;

            Assembly assembly = typeof(CreateTableEstacionamento).Assembly;

            IRunnerContext migrationContext = new RunnerContext(announcer);

            var options = new ProcessorOptions
            {
                PreviewOnly = false,  // set to true to see the SQL
                Timeout     = 60
            };

            try
            {
                var factory   = settingsContainer.GetInstance <MigrationProcessorFactory>(); //new FluentMigrator.Runner.Processors.SQLite.SQLiteProcessorFactory();
                var processor = factory.Create(connectionString, announcer, options);

                var runner = new MigrationRunner(assembly, migrationContext, processor);
                runner.MigrateUp(true);
            }
            catch (Exception ex)
            {
                throw new InvalidOperationException("connectionString: " + connectionString, ex);
            }
        }
コード例 #14
0
        public void CanMigrateASpecificVersionDown()
        {
            try
            {
                ExecuteWithSupportedProcessors(processor =>
                {
                    MigrationRunner runner = SetupMigrationRunner(processor);

                    runner.MigrateUp(1);

                    runner.VersionLoader.VersionInfo.HasAppliedMigration(1).ShouldBeTrue();
                    processor.TableExists(null, "Users").ShouldBeTrue();
                }, false, typeof(SqliteProcessor));

                ExecuteWithSupportedProcessors(processor =>
                {
                    MigrationRunner testRunner = SetupMigrationRunner(processor);
                    testRunner.MigrateDown(0);

                    testRunner.VersionLoader.VersionInfo.HasAppliedMigration(1).ShouldBeFalse();
                    processor.TableExists(null, "Users").ShouldBeFalse();
                }, false, typeof(SqliteProcessor));
            }
            finally
            {
                ExecuteWithSupportedProcessors(processor =>
                {
                    MigrationRunner testRunner = SetupMigrationRunner(processor);
                    testRunner.RollbackToVersion(0);
                }, false);
            }
        }
コード例 #15
0
        public UpdateDatabase(String ConnectionString)
        {
            var announcer = new TextWriterAnnouncer(s => System.Console.WriteLine(s));
            var assembly  = Assembly.GetAssembly(typeof(SchemaChanges.frm_20170221_1442));

            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = "TimeGo.DataModel.SchemaChanges"
            };

            IMigrationProcessorOptions options = new ProcessorOptions {
                PreviewOnly = false,
                Timeout     = 60
            };



            var factory   = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2008ProcessorFactory();
            var processor = factory.Create(ConnectionString, announcer, options);


            var runner = new MigrationRunner(assembly, migrationContext, processor);

            runner.MigrateUp();
        }
コード例 #16
0
        public void MigrateUpWithTaggedMigrationsAndUsingMultipleTagsShouldOnlyApplyMatchedMigrations()
        {
            ExecuteWithSupportedProcessors(processor =>
            {
                var assembly = typeof(TenantATable).Assembly;

                var runnerContext = new RunnerContext(new TextWriterAnnouncer(System.Console.Out))
                {
                    Namespace = typeof(TenantATable).Namespace,
                    Tags      = new[] { "TenantA", "TenantB" }
                };

                var runner = new MigrationRunner(assembly, runnerContext, processor);

                try
                {
                    runner.MigrateUp(false);

                    processor.TableExists(null, "TenantATable").ShouldBeFalse();
                    processor.TableExists(null, "NormalTable").ShouldBeTrue();
                    processor.TableExists(null, "TenantBTable").ShouldBeFalse();
                    processor.TableExists(null, "TenantAandBTable").ShouldBeTrue();
                }
                finally
                {
                    new MigrationRunner(assembly, runnerContext, processor).RollbackToVersion(0);
                }
            });
        }
コード例 #17
0
        public static void MigrateToLatest(string connectionString, string migrationAssemblyName)
        {
            var assembly = Assembly.Load(new AssemblyName(migrationAssemblyName));

            var migrationContext = new RunnerContext(Announcer)
            {
                Namespace = migrationAssemblyName + ".Migrations"
            };

            var options = new ProcessorOptions {
                PreviewOnly = false, Timeout = DefaultTimeout
            };
            var factory   = new SqlServer2008ProcessorFactory();
            var processor = factory.Create(connectionString, Announcer, options);
            var runner    = new MigrationRunner(assembly, migrationContext, processor);

            foreach (var a in runner.MigrationAssemblies.Assemblies)
            {
                RunScriptGroup(ScriptRunningGroup.PreMigrationScript, a, processor);
            }

            runner.MigrateUp(true);

            foreach (var a in runner.MigrationAssemblies.Assemblies)
            {
                RunScriptGroup(ScriptRunningGroup.PostMigrationScript, a, processor);
            }
        }
コード例 #18
0
ファイル: Program.cs プロジェクト: virgiliofornazin/NDepth
        static void Main()
        {
            // Create migration announcer.
            var announcer = new TextWriterAnnouncer(Console.WriteLine)
            {
                ShowSql = true
            };

            // Create migration context.
            var migrationContext = new RunnerContext(announcer);

            // Create migration options, factory and runner.
            var options = new ProcessorOptions
            {
                PreviewOnly = false,
                Timeout     = 60
            };
            var factory   = new SqliteProcessorFactory();
            var processor = factory.Create(ConnectionString, announcer, options);
            var runner    = new MigrationRunner(Assembly.GetExecutingAssembly(), migrationContext, processor);

            // Update database.
            runner.MigrateUp(long.MaxValue, true);

            // Rollback database.
            runner.MigrateDown(long.MinValue, true);
        }
コード例 #19
0
        public static void MigrateToLatest(string connectionString, string clientId, string certThumbPrint, string authority)
        {
            var announcer = new TextWriterAnnouncer(s => {
                System.Console.WriteLine(s);
                System.Diagnostics.Debug.WriteLine(s);
            });
            var assembly = Assembly.Load("MyAppMigrations");

            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = "MyAppMigrations"
            };

            var options = new MigrationOptions {
                PreviewOnly = false, Timeout = 60
            };
            var factory = new AzureSqlProcessorFactory(clientId, certThumbPrint, authority);

            using (var processor = factory.Create(connectionString, announcer, options))
            {
                var runner = new MigrationRunner(assembly, migrationContext, processor);
                runner.ListMigrations();
                runner.MigrateUp(true);
            }
        }
コード例 #20
0
ファイル: MigrationManager.cs プロジェクト: banura/brasilcoin
        private void Check()
        {
            try
            {
                var announcer        = new TextWriterAnnouncer(WriteLog);
                var assembly         = Assembly.GetExecutingAssembly();
                var migrationContext = new RunnerContext(announcer);

                var options = new MigrationOptions {
                    PreviewOnly = false, Timeout = 60
                };
                var factory   = new FluentMigrator.Runner.Processors.MySql.MySqlProcessorFactory();
                var processor = factory.Create(_provider.ConnectionString, announcer, options);
                var runner    = new MigrationRunner(assembly, migrationContext, processor);

                runner.MigrateUp(true);
            }
            catch (InvalidMigrationException e)
            {
                _logger.Error("An invalid migration exception occured; {0:l}", e.Message);
            }
            catch (MySqlException e)
            {
                _logger.Error("An exception occured while running migration manager; {0:l}", e.Message);
            }
        }
コード例 #21
0
        public int Run()
        {
            var announcer = new TextWriterAnnouncer(s => System.Diagnostics.Debug.WriteLine(s))
            {
                ShowSql = true
            };

            IRunnerContext migrationContext = new RunnerContext(announcer)
            {
                Profile = Constants.MigratorProfileName
            };

            var processor = new SqlServer2014ProcessorFactory().Create(DatabaseConnectionString, announcer, new ProcessorOptions
            {
                PreviewOnly = false,
                Timeout     = _options.TimeoutSeconds
            });

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

            try
            {
                if (_options.GenerateEnums)
                {
                    runner.Up(new EnumTableGenerator());
                }
                if (_options.MigrationRequest.HasValue)
                {
                    runner.MigrateUp(_options.MigrationRequest.Value, true);
                }
                else
                {
                    runner.MigrateUp(true);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                return(-1);
            }

            return(0);
        }
コード例 #22
0
        public void VersionInfoCreationScriptsOnlyGeneratedOnceInPreviewMode()
        {
            if (!IntegrationTestOptions.SqlServer2008.IsEnabled)
            {
                return;
            }

            var connection       = new SqlConnection(IntegrationTestOptions.SqlServer2008.ConnectionString);
            var processorOptions = new ProcessorOptions {
                PreviewOnly = true
            };

            var outputSql = new StringWriter();
            var announcer = new TextWriterAnnouncer(outputSql)
            {
                ShowSql = true
            };

            var processor = new SqlServerProcessor(connection, new SqlServer2008Generator(), announcer, processorOptions, new SqlServerDbFactory());

            try
            {
                var asm           = typeof(MigrationRunnerTests).Assembly;
                var runnerContext = new RunnerContext(announcer)
                {
                    Namespace   = "FluentMigrator.Tests.Integration.Migrations",
                    PreviewOnly = true
                };

                var runner = new MigrationRunner(asm, runnerContext, processor);
                runner.MigrateUp(1, false);

                processor.CommitTransaction();

                string schemaName         = new TestVersionTableMetaData().SchemaName;
                var    schemaAndTableName = string.Format("\\[{0}\\]\\.\\[{1}\\]", schemaName, TestVersionTableMetaData.TABLENAME);

                var outputSqlString = outputSql.ToString();

                var createSchemaMatches = new Regex(string.Format("CREATE SCHEMA \\[{0}\\]", schemaName)).Matches(outputSqlString).Count;
                var createTableMatches  = new Regex("CREATE TABLE " + schemaAndTableName).Matches(outputSqlString).Count;
                var createIndexMatches  = new Regex("CREATE UNIQUE CLUSTERED INDEX \\[" + TestVersionTableMetaData.UNIQUEINDEXNAME + "\\] ON " + schemaAndTableName).Matches(outputSqlString).Count;
                var alterTableMatches   = new Regex("ALTER TABLE " + schemaAndTableName).Matches(outputSqlString).Count;

                System.Console.WriteLine(outputSqlString);

                createSchemaMatches.ShouldBe(1);
                createTableMatches.ShouldBe(1);
                alterTableMatches.ShouldBe(1);
                createIndexMatches.ShouldBe(1);
            }
            finally
            {
                CleanupTestSqlServerDatabase(connection, processor);
            }
        }
コード例 #23
0
        public void ValidateVersionOrderShouldThrowExceptionIfUnappliedMigrationVersionIsLessThanLatestAppliedMigration()
        {
            // Using SqlServer instead of SqlLite as versions not deleted from VersionInfo table when using Sqlite.
            var excludedProcessors = new[] { typeof(SqliteProcessor), typeof(MySqlProcessor), typeof(PostgresProcessor) };

            var assembly = typeof(User).Assembly;

            var runnerContext1 = new RunnerContext(new TextWriterAnnouncer(System.Console.Out))
            {
                Namespace = typeof(Migrations.Interleaved.Pass2.User).Namespace
            };
            var runnerContext2 = new RunnerContext(new TextWriterAnnouncer(System.Console.Out))
            {
                Namespace = typeof(Migrations.Interleaved.Pass3.User).Namespace
            };

            VersionOrderInvalidException caughtException = null;

            try
            {
                ExecuteWithSupportedProcessors(processor =>
                {
                    var migrationRunner = new MigrationRunner(assembly, runnerContext1, processor);
                    migrationRunner.MigrateUp();
                }, false, excludedProcessors);

                ExecuteWithSupportedProcessors(processor =>
                {
                    var migrationRunner = new MigrationRunner(assembly, runnerContext2, processor);
                    migrationRunner.ValidateVersionOrder();
                }, false, excludedProcessors);
            }
            catch (VersionOrderInvalidException ex)
            {
                caughtException = ex;
            }
            finally
            {
                ExecuteWithSupportedProcessors(processor =>
                {
                    var migrationRunner = new MigrationRunner(assembly, runnerContext2, processor);
                    migrationRunner.RollbackToVersion(0);
                }, true, excludedProcessors);
            }

            caughtException.ShouldNotBeNull();


            caughtException.InvalidMigrations.Count().ShouldBe(1);
            var keyValuePair = caughtException.InvalidMigrations.First();

            keyValuePair.Key.ShouldBe(200909060935);
            ((MigrationWithMetaDataAdapter)keyValuePair.Value).Migration.ShouldBeOfType <UserEmail>();
        }
コード例 #24
0
        public void CanMigrateASpecificVersion()
        {
            ExecuteWithSupportedProcessors(processor =>
            {
                MigrationRunner runner = SetupMigrationRunner(processor);

                runner.MigrateUp(1);

                runner.VersionLoader.VersionInfo.HasAppliedMigration(1).ShouldBeTrue();
                processor.TableExists(null, "Users").ShouldBeTrue();
            });
        }
コード例 #25
0
        public void Migrate()
        {
            var processor = GetProcessor();
            var context   = new RunnerContext(new NullAnnouncer());

            var migrationRunner = new MigrationRunner(
                typeof(SqlSchemaMigrator).Assembly,
                context,
                processor);

            migrationRunner.MigrateUp();
        }
コード例 #26
0
        private static void Migrate(string connectionString)
        {
            var announcer        = new TextWriterAnnouncer(Console.Out);
            var migrationContext = new RunnerContext(announcer);
            var factory          = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2012ProcessorFactory();
            var assembly         = typeof(MigrationProgram).Assembly;

            using (var processor = factory.Create(connectionString, announcer, new ProcessorOptions()))
            {
                var runner = new MigrationRunner(assembly, migrationContext, processor);
                runner.MigrateUp();
            }
        }
コード例 #27
0
        public void CanRunMigrations()
        {
            ExecuteWithSupportedProcessors(processor =>
            {
                MigrationRunner runner = SetupMigrationRunner(processor);

                runner.MigrateUp();

                runner.VersionLoader.VersionInfo.HasAppliedMigration(1).ShouldBeTrue();
                runner.VersionLoader.VersionInfo.HasAppliedMigration(2).ShouldBeTrue();
                runner.VersionLoader.VersionInfo.Latest().ShouldBe(2);
            });
        }
コード例 #28
0
ファイル: Migrator.cs プロジェクト: madsny/PawPawZ
        public void MigrateToLatest()
        {
            var announcer        = new NullAnnouncer();
            var assembly         = Assembly.GetExecutingAssembly();
            var migrationContext = new RunnerContext(announcer);
            var options          = new ProcessorOptions {
                PreviewOnly = false, Timeout = 60
            };
            var factory   = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2008ProcessorFactory();
            var processor = factory.Create(_settings.ConnectionString, announcer, options);
            var runner    = new MigrationRunner(assembly, migrationContext, processor);

            runner.MigrateUp(true);
        }
コード例 #29
0
ファイル: Migrator.cs プロジェクト: pingustries/pingowin
        public void Migrate()
        {
            var announcer = new TextWriterAnnouncer(Console.Out)
            {
                ShowElapsedTime = true,
                ShowSql         = true
            };

            IRunnerContext migrationContext = new RunnerContext(announcer);

            var factory = new SQLiteProcessorFactory();
            IMigrationProcessor processor = factory.Create(_connectionString, announcer, new ProcessorOptions());
            var runner = new MigrationRunner(typeof(Migrator).Assembly, migrationContext, processor);

            runner.MigrateUp(true);
        }
コード例 #30
0
 public virtual void MigrateUp(MigrationRunner runner, ITaskExecutionContext context, IKernel kernel)
 {
     if (runner == null)
     {
         throw new ArgumentNullException("runner");
     }
     if (context == null)
     {
         throw new ArgumentNullException("context");
     }
     if (kernel == null)
     {
         throw new ArgumentNullException("kernel");
     }
     runner.MigrateUp();
 }