【问题标题】:Flask migrate does not detect column autoincrement changes?烧瓶迁移不检测列自动增量更改?
【发布时间】:2017-04-18 04:44:11
【问题描述】:

我已将具有 id 的模型类从 autoincrement=False 更改为 autoincrement=True 但 Flask Migrate 包未检测到更改以应用于数据库?我该如何解决这个问题?

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, unique=True, primary_key=True, autoincrement=True)

迁移命令日志:

INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.env] No changes in schema detected.

【问题讨论】:

  • 可能您必须自己完成,因为 migrate 会记录对模型所做的全部更改。

标签: python python-3.x flask flask-sqlalchemy flask-migrate


【解决方案1】:

自动生成的迁移脚本并不意味着每次都 100% 正确,它们只是作为入门。您应该查看它,并添加或更正任何不准确的内容。所以我想说只需将自动增量添加到脚本中就可以了。

【讨论】:

  • 谢谢。但是,当它没有检测到任何更改时,它甚至不会创建任何迁移文件供我们编辑。然后,我们必须手动创建迁移文件,这很烦人:(
  • 您是否尝试过使用revision 命令?这会生成一个空的迁移脚本,您可以手动编辑它。
  • 我没有。非常感谢你让我知道。最佳(y)
猜你喜欢
  • 2016-09-02
  • 2016-02-29
  • 2018-12-09
  • 1970-01-01
  • 2017-12-21
  • 2017-05-18
  • 2019-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多