在最近做的一个小项目中,使用了Flask-SQLALchemy ORM来处理应用与数据库之间的连接。暂时没有做管理页面,需要涉及MySQL手动修改某些字段数据!
但是数据修改后,应用上面并没有更新!需要重启Flask服务,有没有临时的解决方案,避免修改字段后重启服务
1 22too 2015-06-16 19:25:15 +08:00 不懂你说的是什么?你的数据库表字段都改了?你的orm字段不用改吗?改完之后难道不需要重启吗? |
![]() | 2 realityone 2015-06-16 19:41:01 +08:00 db.session.commit() 或者 SQLALCHEMY_COMMIT_ON_TEARDOWN = True |
![]() | 3 realityone 2015-06-16 19:45:17 +08:00 |
4 skywatcher 2015-06-16 19:52:44 +08:00 一直在用SqlAlchemy,没出现你说的情况 |
6 zuo OP @realityone 觉得ORM仅仅是将表与类进行了映射,在MySQL中手动update了数据,应该不会有影响的 |
7 zuo OP @skywatcher 用的是Flask-SQLALchemy 不知道有没有影响 |
8 22too 2015-06-19 21:14:00 +08:00 不知道你怎么用的,所以不知道你的具体问题在哪 |
![]() | 9 theo 2015-07-25 13:46:39 +08:00 我用的是 SQLAlchemy,遇到同样问题。 情况是用两个不同的 Python 服务访问同一个数据库,A 服务执行 add 并 commit 后,数据库中已经能看到新的条目,但 B 服务通过 SQLAlchemy 的 query 无法获取新数据,只有通过原生的 mysql 包才能获取数据。 |
12 zuo OP @theo 可能是我们两人的设计在某个方面都犯了一个致命的错误,身边也没事又大神可以指导!我为这个问题找了好几天Google都没结果,最后不了了之! |
13 caimaoy 2016-04-13 16:32:47 +08:00 我也遇到这个问题了,肯定是打开方法不对 |
17 suzaku 2016-09-09 09:25:57 +08:00 我也遇到了 |
18 suzaku 2016-09-09 09:26:40 +08:00 create_engine(config_url, isolation_level="READ UNCOMMITTED") 在 create_engine 的时候,指定 isolation_level |
19 outdoxl 2019-04-04 16:24:26 +08:00 挖坟 查询前先 `db.session.commit()` 将当前 session 对象里的缓存提交(清空缓存),查询时就直接从数据库中查询最新数据。 https://www.cnblogs.com/huchong/p/9258458.html https://www.jianshu.com/p/c0a8275cce99 |