【问题标题】:How to add new tables to flask-sqlalchemy database after database init?如何在数据库初始化后向 flask-sqlalchemy 数据库添加新表?
【发布时间】:2018-12-26 22:46:58
【问题描述】:

我已经启动了this project,它使用了 Flask-SQLAlchemy 并且已经有一些类(表)。现在我添加了几个表 - 继承 db.Model 的类。当我运行应用程序时,我得到了这个错误:

sqlalchemy.exc.InvalidRequestError: 表 'table_name' 已为此 MetaData 实例定义。指定 'extend_existing=True' 以重新定义现有 Table 对象上的选项和列。`

我也打开并检查了数据库文件,但没有创建这样的表,所以错误接缝有点误导。

如何实现将新定义的类创建为数据库中的表?

【问题讨论】:

  • 错误不是告诉你该表存在于数据库中。它告诉您您的 MetaData 实例(在 Python 中)已经保存了表的元数据。
  • 在哪里可以找到MetaData 实例并清除它?

标签: python sqlite sqlalchemy flask-sqlalchemy


【解决方案1】:

问题出在 Python 缓存文件中。我删除了在我的项目目录中找到的所有 __pycache__ 文件夹,它有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2021-06-15
    相关资源
    最近更新 更多