public AppliedMigration(Migration migration)
 {
     Version = migration.Version;
     StartedOn = DateTime.Now;
     Description = migration.Description;
     FailedMigrations = new List<DocumentMigrationError>();
 }
        public override bool Exclude(Migration migration)
        {
            if (migration == null)
                return false;

            return migration.GetType()
                .GetCustomAttributes(true)
                .OfType<ExperimentalAttribute>()
                .Any();
        }
 public virtual AppliedMigration StartMigration(Migration migration) {
     var appliedMigration = new AppliedMigration(migration);
     long docCount = 0;
     if (migration is CollectionMigration) {
         var collection = ((CollectionMigration)migration).GetCollection();
         docCount = collection.Count();
     }
     appliedMigration.TotalCount = docCount;
     GetMigrationsCollection().Insert(appliedMigration);
     return appliedMigration;
 }
Ejemplo n.º 4
0
 protected virtual void OnMigrationException(Migration migration, Exception exception)
 {
     var message = new
     {
         Message = "Migration failed to be applied: " + exception.Message,
         migration.Version,
         Name = migration.GetType(),
         migration.Description,
         DatabaseName = Database.Name
     };
     Console.WriteLine(message);
     throw new MigrationException(message.ToString(), exception);
 }
        protected virtual void ApplyMigration(Migration migration)
        {
            Console.WriteLine(new {Message = "Applying migration", migration.Version, migration.Description, DatabaseName = Database.Name});

            var appliedMigration = DatabaseStatus.StartMigration(migration);
            migration.Database = Database;
            try
            {
                migration.Update();
            }
            catch (Exception exception)
            {
                OnMigrationException(migration, exception);
            }
            DatabaseStatus.CompleteMigration(appliedMigration);
        }
Ejemplo n.º 6
0
        protected virtual void ApplyMigration(Migration migration) {
            Trace.TraceInformation("Applying migration \"{0}\" for version {1} to database \"{2}\".", migration.Description, migration.Version, Database.Name);

            migration.Database = Database;
            var appliedMigration = DatabaseStatus.StartMigration(migration);
            try {
                var m = migration as CollectionMigration;
                if (m != null) {
                    m.MigrationErrorCallback = MigrationErrorCallback;
                    m.MigrationProgressCallback = MigrationProgressCallback;
                }
                migration.Update();
            } catch (Exception exception) {
                OnMigrationException(migration, exception);
            }

            DatabaseStatus.CompleteMigration(appliedMigration);
        }
 public virtual AppliedMigration StartMigration(Migration migration) {
     var appliedMigration = new AppliedMigration(migration);
     GetMigrationsCollection().Insert(appliedMigration);
     return appliedMigration;
 }
Ejemplo n.º 8
0
 protected virtual void OnMigrationException(Migration migration, Exception exception) {
     string message = String.Format("Failed applying migration \"{0}\" for version {1} to database \"{2}\": {3}", migration.Description, migration.Version, Database.Name, exception.Message);
     Trace.TraceError(message);
     throw new MigrationException(message, exception);
 }
Ejemplo n.º 9
0
 private void MigrationErrorCallback(Migration migration, DocumentMigrationError documentMigrationError) {
     DatabaseStatus.AddMigrationError(migration.Version, documentMigrationError);
 }
Ejemplo n.º 10
0
 private void MigrationProgressCallback(Migration migration, string id) {
     DatabaseStatus.SetMigrationLastId(migration.Version, id);
 }
Ejemplo n.º 11
0
 public AppliedMigration(Migration migration)
 {
     Version = migration.Version;
     StartedOn = DateTime.Now;
     Description = migration.Description;
 }
Ejemplo n.º 12
0
 public AppliedMigration(Migration migration)
 {
     Version     = migration.Version;
     StartedOn   = DateTime.Now;
     Description = migration.Description;
 }
Ejemplo n.º 13
0
 private void MigrationErrorCallback(Migration migration, DocumentMigrationError documentMigrationError)
 {
     DatabaseStatus.AddMigrationError(migration.Version, documentMigrationError);
 }
Ejemplo n.º 14
0
 private void MigrationProgressCallback(Migration migration, string id)
 {
     DatabaseStatus.SetMigrationLastId(migration.Version, id);
 }