Move the call to install_migration_version_if_missing() to migrations_to_run()
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 10 Jul 2011 23:43:08 +0000 (18:43 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 10 Jul 2011 23:43:08 +0000 (18:43 -0500)
This means there's a serious side effect of calling this, but there's
no way to get useful data here unless if that's set anyway.

mediagoblin/db/util.py

index 03e896f3073357f170657ddc7800e46c4085cb17..2ca17f0bf797d83ed86a17b7a91126a9138ad096 100644 (file)
@@ -231,7 +231,14 @@ class MigrationManager(object):
     def migrations_to_run(self):
         """
         Get a list of migrations to run still, if any.
+        
+        Note that calling this will set your migration version to the
+        latest version if it isn't installed to anything yet!
         """
+        # If we aren't set to any version number, presume we're at the
+        # latest (which means we'll do nothing here...)
+        self.install_migration_version_if_missing()
+
         db_current_migration = self.database_current_migration()
 
         return [
@@ -251,11 +258,6 @@ class MigrationManager(object):
            run post-migration.  Takes (migration_number, migration_func)
            as arguments
         """
-        # If we aren't set to any version number, presume we're at the
-        # latest (which means we'll do nothing here...)
-        # @@: should this be in migrations_to_run()?
-        self.install_migration_version_if_missing()
-
         for migration_number, migration_func in self.migrations_to_run():
             if pre_callback:
                 pre_callback(migration_number, migration_func)