Exemple #1
0
        public void ApplyMigrations()
        {
            long lastMigrationOrder = 0;

            if (!dbQuery.TableExists(RowDataGatewayHelper.GetTableName(typeof(MigrationHistoryGateway))))
            {
                new AddedMigrationHistoryEntity {
                    DbQuery = dbQuery
                }.Up();
            }
            else
            {
                lastMigrationOrder = GetLastMigrationOrder();
            }

            var migrations = migrationProvider.GetMigrationsAfter(lastMigrationOrder);

            HandleMigrations(migrations, (migration, type) =>
            {
                migration.Up();
                new MigrationHistoryGateway(dbQuery)
                {
                    MigrationName  = type.Name,
                    MigrationOrder = DbMigrationHelper.GetMigrationOrder(type)
                }.Save();
            });
        }