Ejemplo n.º 1
0
        /// <summary>
        ///     Run all migrations up to (and including) the specified ID to perform a partial upgrade.
        /// </summary>
        public void UpgradeTo(long id)
        {
            if (!this.CanMigrate || id <= this.Latest)
            {
                return;
            }

            var latest = this.Latest;
            var todo   = this.Migrations.Where(m => m.Id <= id && m.Id > latest);

            foreach (var migration in todo)
            {
                migration.Upgrade();
                var info = new DbMigration
                {
                    Id          = migration.Id,
                    Description = migration.Description,
                    UpgradedAt  = DateTime.UtcNow
                };

                this._migrationCollection.Insert(info);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Run all migrations to upgrade the database.
        /// </summary>
        public void UpgradeAll()
        {
            if (!this.CanMigrate)
            {
                return;
            }

            var latest = this.Latest; // so we dont query multiple times
            var todo   = this.Migrations.Where(m => m.Id > latest);

            foreach (var migration in todo)
            {
                migration.Upgrade();
                var info = new DbMigration
                {
                    Id          = migration.Id,
                    Description = migration.Description,
                    UpgradedAt  = DateTime.UtcNow
                };

                this._migrationCollection.Insert(info);
            }
        }