迁移数据库时出现奇怪类型错误
迁移我的数据库几次后,我开始发现在我的本地服务器上出现此错误。如果我清除数据库并重新创建数据库,则不会出现错误,所以我认为我的模型编写方式没有任何问题。迁移数据库时出现奇怪类型错误
我得到以下错误:
File "/home/hagandh/Documents/GitHub/pair-site/pair-site/db_repository/versions/006_migration.py", line 9, in <module>
Column('id', INTEGER(display_width=11), primary_key=True, nullable=False),
TypeError: object() takes no parameters
从这个模型:
class Application(db.Model):
id = db.Column(db.Integer, primary_key = True)
我不明白是什么错误是告诉我。我认为这是我定义一个整数的方式,但是我从来没有遇到过这个问题。我该怎么办才能解决这个错误?
INTEGER
类型不包含任何参数。从迁移脚本中的该行中删除display_width=11
参数。
迁移脚本通过sqlalchemy-migrate生成。我查了他们的文档,他们不支持任何东西> v0.7。我将SQLAlchemy降级到0.7,并且工作正常。 – 2014-09-30 03:56:26
@DavidHagan你应该考虑使用[Alembic](https://alembic.readthedocs.org/en/latest/)。它是由SQLAlchemy作者编写的迁移库。 – davidism 2014-09-30 04:00:22
已更新@davidism – 2014-09-27 17:14:25
哎呀。那么,那就在sqlalchemy-migrate库中。我将不得不做更多的工作来发现错误并修复它与flask-sqlalchemy兼容。感谢 – 2014-09-27 17:29:16
有趣的是,在迁移脚本本身中没有任何参数的Integer字段。 – 2014-09-27 17:36:17