迁移数据库时出现奇怪类型错误

问题描述:

迁移我的数据库几次后,我开始发现在我的本地服务器上出现此错误。如果我清除数据库并重新创建数据库,则不会出现错误,所以我认为我的模型编写方式没有任何问题。迁移数据库时出现奇怪类型错误

我得到以下错误:

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) 

我不明白是什么错误是告诉我。我认为这是我定义一个整数的方式,但是我从来没有遇到过这个问题。我该怎么办才能解决这个错误?

+0

已更新@davidism – 2014-09-27 17:14:25

+0

哎呀。那么,那就在sqlalchemy-migrate库中。我将不得不做更多的工作来发现错误并修复它与flask-sqlalchemy兼容。感谢 – 2014-09-27 17:29:16

+0

有趣的是,在迁移脚本本身中没有任何参数的Integer字段。 – 2014-09-27 17:36:17

INTEGER类型不包含任何参数。从迁移脚本中的该行中删除display_width=11参数。

+0

迁移脚本通过sqlalchemy-migrate生成。我查了他们的文档,他们不支持任何东西> v0.7。我将SQLAlchemy降级到0.7,并且工作正常。 – 2014-09-30 03:56:26

+0

@DavidHagan你应该考虑使用[Alembic](https://alembic.readthedocs.org/en/latest/)。它是由SQLAlchemy作者编写的迁移库。 – davidism 2014-09-30 04:00:22