def teardown_databases(self, old_config, **kwargs): """ Destroys all the non-mirror databases. """ sqla_databases = getattr(settings, "SQLA_DATABASES", {}) for config_id, config in getattr(settings, "SQLA_MODELS", {}).iteritems(): if sqla_databases.has_key(config_id): module_name = config.get("module", None) db_module = import_string(module_name) metadata = getattr(db_module, "Metadata") if not self.keepdb: print("%s database schema for alias '%s'..." % ( "Dropping", config_id, )) metadata.drop_all() database_url = sqla_databases.get(config_id) if database_exists(database_url): print("%s test database for alias '%s'..." % ( "Destroying", config_id, )) drop_database(database_url) else: # Error incorrect database raise Exception super(DiscoverRunner, self).teardown_databases(old_config, **kwargs)
def setup_databases(self, **kwargs): result = super(DiscoverRunner, self).setup_databases(**kwargs) sqla_databases = getattr(settings, "SQLA_DATABASES", {}) for config_id, config in getattr(settings, "SQLA_MODELS", {}).iteritems(): if sqla_databases.has_key(config_id): database_url = sqla_databases.get(config_id) if not self.keepdb: if database_exists(database_url): print("%s test database for alias '%s'..." % ( "Destroying", config_id, )) drop_database(database_url) print("%s test database for alias '%s'..." % ( "Creating", config_id, )) create_database(database_url) module_name = config.get("module", None) db_module = import_string(module_name) metadata = getattr(db_module, "Metadata") print("%s database schema for alias '%s'..." % ( "Creating", config_id, )) metadata.create_all() else: if not database_exists(database_url): print("%s test database for alias '%s'..." % ( "Creating", config_id, )) create_database(database_url) module_name = config.get("module", None) db_module = import_string(module_name) metadata = getattr(db_module, "Metadata") print("%s database schema for alias '%s'..." % ( "Creating", config_id, )) metadata.create_all() else: # Error incorrect database raise Exception return result