From 7e4a87dca5c8afa13b64f76c4b9ce440d38a91b5 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 4 Mar 2013 10:57:21 -0600 Subject: 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! --- mediagoblin/db/migration_tools.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'mediagoblin/db/migration_tools.py') 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, -- cgit v1.2.3