public static void Run(string connectionString)
        {
            var firstMigration = typeof(Lucid.Database.Migrations.Y2016.M01.V01);
            var assembly = new SingleAssembly(firstMigration.Assembly);

            var migrationGenerator = new SqlServer2008Generator();
            var announcer = new NullAnnouncer();
            var options = new ProcessorOptions();
            var dbFactory = new SqlServerDbFactory();

            var runnerContext = new RunnerContext(announcer)
            {
                Database = "SqlServer2008",
                Connection = connectionString,
                Targets = new string[] { firstMigration.Assembly.FullName },
                NestedNamespaces = true,
                Namespace = "Lucid.Database.Migrations",
            };

            using (var connection = new SqlConnection(connectionString))
            using (var processor = new SqlServerProcessor(connection, migrationGenerator, announcer, options, dbFactory))
            {
                var runner = new MigrationRunner(assembly, runnerContext, processor);

                runner.MigrateUp();
            }
        }
        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;
        }
Beispiel #3
0
 /// <summary>
 /// Migration runner
 /// </summary>
 /// <param name="connectionString">Database connection string</param>
 /// <param name="assembly">Assembly containing the migration classes to run</param>
 public Runner(string connectionString, Assembly assembly)
 {
     _connectionString = connectionString;
     _assembly = assembly;
     Announcer = new NullAnnouncer();
     Options = new ProcessorOptions();
     MigrationGenerator = new SqlServer2008Generator();
 }
Beispiel #4
0
        private static MigrationRunner GetRunner(string connectionString, IMigrationProcessorFactory factory)
        {
            var announcer = new NullAnnouncer();
            var assembly = Assembly.GetExecutingAssembly();
            var migrationContext = new RunnerContext(announcer) { Namespace = "Migrations" };
            var options = new MigrationOptions { PreviewOnly = false, Timeout = 60 };
            var processor = factory.Create(connectionString, announcer, options);

            return new MigrationRunner(assembly, migrationContext, processor);
        }
        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);
        }
        public static void MigrateToLatest(string connectionString)
        {
            var announcer = new NullAnnouncer();
            var assembly = Assembly.GetExecutingAssembly();

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

            var options = new MigrationOptions { PreviewOnly = false, Timeout = 60 };
            var factory = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2012ProcessorFactory();
            var processor = factory.Create(connectionString, announcer, options);
            var runner = new MigrationRunner(assembly, migrationContext, processor);
            runner.MigrateUp(true);
        }
        public void Run()
        {
            var announcer = new NullAnnouncer();
            var assembly = Assembly.GetExecutingAssembly();

            var migrationContext = new RunnerContext(announcer)
            {
                Namespace = typeof(FluentDbMigrator).Namespace + ".Migrations"
            };

            var factory = GetProcessorFactory(_configuration.DbProvider);
            var processor = factory.Create(_configuration.ConnectionString, announcer,
                                           new ProcessorOptions { PreviewOnly = false, Timeout = 60 });

            var runner = new MigrationRunner(assembly, migrationContext, processor);
            runner.MigrateUp(true);
        }
        /// <summary>
        /// Migrate the database to the latest version.
        /// </summary>
        /// <param name="connectionStringName">The name of the connection string.</param>
        public static void MigrateToLatest(string connectionStringName)
        {
            var announcer = new NullAnnouncer();
            var assembly = Assembly.GetAssembly(typeof(CreateCountriesTable));

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

            var options = new MigrationOptions { PreviewOnly = false, Timeout = 60 };
            var factory = new FluentMigrator.Runner.Processors.SqlServer.SqlServer2014ProcessorFactory();
            using (var processor = factory.Create(connectionStringName, announcer, options))
            {
                var runner = new MigrationRunner(assembly, migrationContext, processor);
                runner.MigrateUp(true);
            }
        }
Beispiel #9
0
        public static void MigrateDown(string connectionString, long version, Stream stream, bool previewOnly)
        {
            if (version == 0)
            {
                Console.WriteLine(string.Format("Purging Database"));
                Honcho.Migrations.DatabasePurge.Migrate.Execute(connectionString);
                Console.WriteLine(string.Format("Database Purge Complete"));
            }
            else
            {
                Console.WriteLine(string.Format("Executing Migration Rollback Scripts."));
                using (var connection = new SqlConnection(connectionString))
                {
                    IAnnouncer announcer = new NullAnnouncer(); // TextWriterAnnouncer(Console.Out);
                    var processorOptions = new ProcessorOptions
                                               {
                                                   PreviewOnly = previewOnly
                                               };

                    if (stream != null)
                    {
                        announcer = new TextWriterAnnouncer(new StreamWriter(stream));
                    }

                    var runnerContext = new RunnerContext(announcer);

                    var processor = new SqlServerProcessor(connection, new SqlServer2008Generator(), announcer,
                                                           processorOptions);
                    var runner = new MigrationRunner(Assembly.GetAssembly(typeof (Runner)), runnerContext,
                                                     processor);

                    runner.RollbackToVersion(version);
                }
                Console.WriteLine(string.Format("Migration Rollback Script Execution Complete"));
            }
        }
        private static IEnumerable<MigrationRunner> CreateMigrator(Assembly migrationAssembly, IEnumerable<string> connectionStrings)
        {
            var nullAnnouncer = new NullAnnouncer();

            foreach (
                var connectionString in connectionStrings.Where(connectionString => ConfigurationManager.ConnectionStrings[connectionString] != null))
            {
                if (string.IsNullOrEmpty(connectionString))
                    throw new Exception(
                        string.Format("Could not find a valid connection string to run the migrations against"));

                var factory = new SqlServer2008ProcessorFactory();
                var processor =
                    factory.Create(ConfigurationManager.ConnectionStrings[connectionString].ConnectionString,
                        nullAnnouncer,
                        new ProcessorOptions());

                var context = new RunnerContext(nullAnnouncer);

                var runner = new MigrationRunner(migrationAssembly, context, processor);

                Console.WriteLine(string.Format("Creating migration using {0}", connectionString));

                yield return runner;
            }
        }
        private static IEnumerable<MigrationRunner> CreateProfileRunner(Assembly migrationAssembly)
        {
            var nullAnnouncer = new NullAnnouncer();
            var potentialConnectionStrings = new[] {"iBrokerConnectionString", "iCimsConnectionString"};

            foreach (
                var connectionString in
                    potentialConnectionStrings.Where(connectionString => ConfigurationManager.ConnectionStrings[connectionString] != null))
            {
                if (string.IsNullOrEmpty(connectionString))
                    throw new Exception(
                        string.Format("Could not find a valid connection string to run the migrations against"));

                var factory = new SqlServer2008ProcessorFactory();
                var processor =
                    factory.Create(ConfigurationManager.ConnectionStrings[connectionString].ConnectionString,
                        nullAnnouncer,
                        new ProcessorOptions());

                var context = new RunnerContext(nullAnnouncer)
                {
                    Profile = "Development"
                };

                var runner = new MigrationRunner(migrationAssembly, context, processor);

                yield return runner;
            }
        }
 private MigrationRunner MigrationRunner()
 {
     IAnnouncer announcer = new NullAnnouncer();
     IRunnerContext context = new RunnerContext(announcer);
     IMigrationProcessorFactory processorFactory = new SqlServer2008ProcessorFactory();
     IMigrationProcessorOptions options = new ProcessorOptions { PreviewOnly = false, Timeout = 0 };
     IMigrationProcessor processor = processorFactory.Create(DatabaseConnectionString, announcer, options);
     return new MigrationRunner(Assembly.GetExecutingAssembly(), context, processor);
 }
Beispiel #13
0
        public static void MigrateUp(string connectionString, long? version, Stream stream, bool previewOnly)
        {
            if (Migrate.Exists(connectionString))
            {
                Console.WriteLine(string.Format("AspNet Membership Exists. No Action Needed."));
            }
            else
            {
                Console.WriteLine(string.Format("Installing AspNet Membership"));
                Migrate.InstallIfDoesNotExist(connectionString);
                Console.WriteLine(string.Format("AspNet Membership Install Complete"));
            }

            Console.WriteLine(string.Format("Executing Migration Scripts."));
            using (var connection = new SqlConnection(connectionString))
            {
                IAnnouncer announcer = new NullAnnouncer(); // TextWriterAnnouncer(Console.Out);
                var processorOptions = new ProcessorOptions
                {
                    PreviewOnly = previewOnly
                };

                if (stream != null)
                {
                    announcer = new TextWriterAnnouncer(new StreamWriter(stream));
                }

                var runnerContext = new RunnerContext(announcer);

                var processor = new SqlServerProcessor(connection, new SqlServer2008Generator(), announcer, processorOptions);
                var runner = new MigrationRunner(Assembly.GetAssembly(typeof(Runner)), runnerContext, processor);

                if (version.HasValue)
                    runner.MigrateUp(version.Value);
                else
                        runner.MigrateUp();
            }
            Console.WriteLine(string.Format("Migration Script Execution Complete"));
        }