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!
This commit is contained in:
parent
17e4679ddc
commit
7e4a87dca5
@ -17,6 +17,9 @@
|
|||||||
from mediagoblin.tools.common import simple_printer
|
from mediagoblin.tools.common import simple_printer
|
||||||
from sqlalchemy import Table
|
from sqlalchemy import Table
|
||||||
|
|
||||||
|
class TableAlreadyExists(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class MigrationManager(object):
|
class MigrationManager(object):
|
||||||
"""
|
"""
|
||||||
@ -128,7 +131,10 @@ class MigrationManager(object):
|
|||||||
# sanity check before we proceed, none of these should be created
|
# sanity check before we proceed, none of these should be created
|
||||||
for model in self.models:
|
for model in self.models:
|
||||||
# Maybe in the future just print out a "Yikes!" or something?
|
# 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.migration_model.metadata.create_all(
|
||||||
self.session.bind,
|
self.session.bind,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user