示例#1
0
        public virtual void UpdateTo(MigrationVersion updateToVersion)
        {
            var currentVersion = DatabaseStatus.GetLastAppliedMigration();

            Trace.TraceInformation("Updating migration \"{0}\" for version {1} to database \"{2}\".", currentVersion, updateToVersion, Database.Name);

            var migrations = MigrationLocator.GetMigrationsAfter(currentVersion)
                             .Where(m => m.Version <= updateToVersion);

            ApplyMigrations(migrations);
        }
示例#2
0
        public virtual void UpdateTo(MigrationVersion updateToVersion)
        {
            var currentVersion = DatabaseStatus.GetLastAppliedMigration();

            Console.WriteLine(new { Message = WhatWeAreUpdating(), currentVersion, updateToVersion, Database.DatabaseNamespace.DatabaseName });

            var migrations = MigrationLocator.GetMigrationsAfter(currentVersion)
                             .Where(m => m.Version <= updateToVersion);

            ApplyMigrations(migrations);
        }
        public virtual void UpdateTo(MigrationVersion updateToVersion)
        {
            var currentVersion = DatabaseStatus.GetLastAppliedMigration();
            var migrations     = MigrationLocator.GetMigrationsAfter(currentVersion).Where(m => m.Version <= updateToVersion).ToList();

            if (migrations.Count == 0)
            {
                return;
            }

            // if the migration collection didn't exist, assume it's a new db that is already up to date.
            if (currentVersion == null)
            {
                foreach (var migration in migrations)
                {
                    DatabaseStatus.MarkVersion(migration.Version);
                }

                return;
            }

            Trace.TraceInformation("Updating migration \"{0}\" for version {1} to database \"{2}\".", currentVersion, updateToVersion, Database.Name);
            ApplyMigrations(migrations);
        }