Example #1
0
 def set_application(self,
                     application,
                     force_creation=False,
                     verbose_creation=True):
     """
     Called when the application for this Migrations is set.
     Imports the migrations module object, and throws a paddy if it can't.
     """
     self._application = application
     if not hasattr(application, 'migrations') and not hasattr(
             application, 'south_migrations'):
         try:
             module = importlib.import_module(self.migrations_module())
             self._migrations = application.migrations = module
         except ImportError:
             if force_creation:
                 self.create_migrations_directory(verbose_creation)
                 module = importlib.import_module(self.migrations_module())
                 self._migrations = application.migrations = module
             else:
                 raise exceptions.NoMigrations(application)
     if hasattr(application, 'south_migrations'):
         self._load_migrations_module(application.south_migrations)
     else:
         self._load_migrations_module(application.migrations)
Example #2
0
    def set_application(self,
                        application,
                        force_creation=False,
                        verbose_creation=True):
        """
        Called when the application for this Migrations is set.
        Imports the migrations module object, and throws a paddy if it can't.
        """
        if isinstance(application, six.string_types):
            if application in sys.modules:
                application = sys.modules[application]
            else:
                application = app_label_to_app_module(application)

        self._application = application
        if not hasattr(application, "south_migrations"):
            try:
                module = self.migrations_module()
                self._migrations = application.south_migrations = module
            except ImportError:
                if force_creation:
                    self.create_migrations_directory(verbose_creation)
                    module = self.migrations_module()
                    self._migrations = application.south_migrations = module
                else:
                    six.reraise(exceptions.NoMigrations,
                                exceptions.NoMigrations(application))
        if hasattr(application, "south_migrations"):
            self._load_migrations_module(application.south_migrations)