From: Christopher Allan Webber Date: Mon, 4 Mar 2013 16:57:21 +0000 (-0600) Subject: Give a more useful error if a table already exists and so we can't create it during... X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=7e4a87dca5c8afa13b64f76c4b9ce440d38a91b5;p=mediagoblin.git Give a more useful error if a table already exists and so we can't create it during migrations This commit sponsored by Andrzej Prochyra. Thanks! --- diff --git a/mediagoblin/db/migration_tools.py b/mediagoblin/db/migration_tools.py index e5380a3b..c0c7e998 100644 --- a/mediagoblin/db/migration_tools.py +++ b/mediagoblin/db/migration_tools.py @@ -17,6 +17,9 @@ from mediagoblin.tools.common import simple_printer from sqlalchemy import Table +class TableAlreadyExists(Exception): + pass + class MigrationManager(object): """ @@ -128,7 +131,10 @@ class MigrationManager(object): # sanity check before we proceed, none of these should be created for model in self.models: # Maybe in the future just print out a "Yikes!" or something? - assert not model.__table__.exists(self.session.bind) + if model.__table__.exists(self.session.bind): + raise TableAlreadyExists( + u"Intended to create table '%s' but it already exists" % + model.__table__.name) self.migration_model.metadata.create_all( self.session.bind,