Beispiel #1
0
        /// <summary>
        ///     Установка миграций
        /// </summary>
        /// <param name="options">Опции командной строки</param>
        private static void UpdateDatabase(DbManagerOptions options)
        {
            Logger.Info("Обновление БД : ");

            var migrator = new DbMigrator(new TMigrationConfig());

            migrator.SeedEnabled        = options.SeedEnabled;
            migrator.SeedForTestEnabled = options.SeedForTestEnabled;

            var migrationIdProvider = new MigrationIdProvider();

            var targetMigrationId = migrationIdProvider.GetMigrationId(migrator, options.Version, options.Migration, false);

            migrator.Update(targetMigrationId);

            Logger.Info("Успешно проведено обновление до миграции {0}", targetMigrationId);
        }
Beispiel #2
0
        /// <summary>
        ///     Откат базы данных
        /// </summary>
        /// <param name="options">Опции командной строки</param>
        private static void DowngradeDatabase(DbManagerOptions options)
        {
            Logger.Info("Откат БД : ");

            var migrator = new DbMigrator(new TMigrationConfig());

            var migrationIdProvider = new MigrationIdProvider();

            var targetMigrationId = migrationIdProvider.GetMigrationId(migrator, options.Version, options.Migration, true);

            migrator.Downgrade(targetMigrationId);

            Logger.Info(
                string.IsNullOrEmpty(targetMigrationId)
                    ? "Успешно проведен откат к чистой БД"
                    : "Успешно проведен откат к миграции {0}",
                targetMigrationId);
        }