我正在与合作伙伴一起开发一个应用程序。我在 PostgreSQL 中完成数据库部分,我的合作伙伴使用 SQLAlchemy 在 Web 服务器上使用 Python 实现该应用程序。我们大量使用服务器端功能。对其中之一的
SELECT
查询在数据库日志中如下所示:
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SELECT col_a, col_b FROM some_func(E'myvalue');
ROLLBACK;
在函数中,我将某些输入写入日志表。应用程序通过
SELECT
进行查询,SQLAlchemy 只看到 SELECT
语句并坚持使用 ROLLBACK
。记录失败。我需要它来代替。我的合作伙伴声称没有简单的方法,我们必须完全删除 SQLAlchemy。我认为他一定是错的,但缺乏知识来反驳。有没有一种简单的方法可以让 SQLAlchemy COMMIT
而不是
COMMIT
?是什么让我无法执行
ROLLBACK
trans.commit()
吗?我已扫描了FAQ,但没有找到答案。
搜索SO发现了一些相关问题,例如here
和here,但我不清楚。
也许这个食谱
会起作用?