protected void RunMigration(DatabaseConfiguration dbConfig, TagsConfiguration tagsConfiguration)
        {
            CreateContainer(dbConfig, tagsConfiguration);

            LogMigrationPerform(dbConfig);

            CreateDatabaseIfRequired(dbConfig);

            if (dbConfig.MigrationDirection == MigrationDirection.Down)
            {
                if (!dbConfig.MigrationVersion.HasValue)
                {
                    throw new ArgumentException("Migration down must have specified migration version");
                }

                m_runner.MigrateDown(dbConfig.MigrationVersion.Value);
            }
            else
            {
                if (!dbConfig.MigrationVersion.HasValue)
                {
                    m_runner.MigrateUp();
                }
                else
                {
                    m_runner.MigrateUp(dbConfig.MigrationVersion.Value);
                }
            }
        }
Example #2
0
 private static void MigrateDown(int?version, IMigrationRunner runner)
 {
     if (version.HasValue && runner.HasMigrationsToApplyDown(version.Value))
     {
         runner.MigrateDown(version.Value);
     }
 }
Example #3
0
 private static void Target(IMigrationRunner runner, int version)
 {
     if (runner.HasMigrationsToApplyDown(version))
     {
         runner.MigrateDown(version);
     }
     else if (runner.HasMigrationsToApplyUp(version))
     {
         runner.MigrateUp(version);
     }
 }
Example #4
0
        private void RollbackMigration(CommandOption command)
        {
            var vaild = long.TryParse(command.Value(), out var roolbackVersion);

            if (!vaild)
            {
                throw new ArgumentException("Invalid version to roll back");
            }

            _runner.MigrateDown(roolbackVersion);
        }
        private static void UpdateDatabase(IConfiguration configuration, IHostEnvironment environment)
        {
            IServiceProvider serviceProvider = CreateFluentMigrationServiceProvider(configuration, environment.EnvironmentName);

            using IServiceScope serviceScope = serviceProvider.CreateScope();
            IMigrationRunner            migrationRunner            = serviceScope.ServiceProvider.GetService <IMigrationRunner>();
            IMigrationInformationLoader migrationInformationLoader = migrationRunner.MigrationLoader;
            IMigrationContext           migrationContext           = serviceProvider.GetRequiredService <IMigrationContext>();
            IMigrationGenerator         migrationGenerator         = serviceProvider.GetRequiredService <IMigrationGenerator>();
            string sqlScriptsDirectory = Path.Combine(environment.ContentRootPath, "./Scripts/");

            RefreshDirectory(sqlScriptsDirectory);

            migrationInformationLoader.CreateMigrationsSqlEquivalent(migrationContext, migrationGenerator, sqlScriptsDirectory);

            migrationRunner.ListMigrations();

            if (environment.EnvironmentName.Equals("Testing"))
            {
                migrationRunner.MigrateDown(0);
            }

            migrationRunner.MigrateUp();
        }
Example #6
0
 public void MigrateDown(long version)
 {
     _migrationRunner.MigrateDown(version);
 }
Example #7
0
 public void MigrateDown(long version)
 {
     runner.MigrateDown(version);
 }
Example #8
0
 private static void DowngradeDatabase(IMigrationRunner runner, long?version = null) => runner.MigrateDown(version ?? 0);
Example #9
0
 public override void MigrateDown(long version) => runner.MigrateDown(version);
 internal static void DowngradeDatabase(this IMigrationRunner runner, long?version = null) => runner.MigrateDown(version ?? 0);