gpt4 book ai didi

python - Flask SQLAlchemy 未获取更改的记录

转载 作者:太空宇宙 更新时间:2023-11-03 19:18:18 24 4
gpt4 key购买 nike

我看到 Flask-SQLAlchemy 出现一些意外行为,但我不明白发生了什么:

如果我使用例如更改记录MySQL Workbench 或 Sequel Pro、正在运行的应用程序(无论是在 Apache 上的 WSGI 下运行,还是从命令行运行)都不会接受更改。如果我通过触摸 WSGI 文件或重新加载它(命令行)来重新加载应用程序,我可以看到更改的记录。我已经通过在交互式 shell 中运行 all() 查询来验证这一点,结果是一样的 – 没有任何变化,直到我退出 shell 并重新开始。我感觉我在这里遗漏了一些非常明显的东西 – 它是一个表,没有联接等。 – 在 2.7.3 上运行 MySQL 5.5.19 和 SQLA 0.7.7

最佳答案

您应用程序的 SELECT 可能位于其自己的事务/ session 中,因此另一个 session (例如 MySQL Workbench 连接)提交的更改对于您的 SELECT 尚不可见。您可以通过启用 mysql 常规日志或在 create_engine(...) 定义中设置“echo: false”来轻松验证它。您可能会在 SET AUTOCOMMIT = 0 模式下启动 SQLAlchemy session ,这需要显式提交或回滚(当您重新启动/重新加载时,Flask-SQLAlchemy 会自动为您执行此操作)。尝试以 autocommit=true 模式启动 session ,或者在调用 SELECT 之前坚持显式提交/回滚。

关于python - Flask SQLAlchemy 未获取更改的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10645793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com