我正在使用SQLAlchemy和Flask,如下所示:http://flask.pocoo.org/docs/patterns/sqlalchemy/
我有一个Selenium测试套件,首先使用Firefox,然后使用Chrome。
在每个浏览器开始测试之前,测试数据库(PostgreSQL)中的表将被删除并创建。
它适用于第一个浏览器,但对于第二个浏览器,SQL创建/删除尝试只是冻结并且没有显示错误。
我相信这是因为开放的SQLAlchemy会话,这是正确的吗?
答案 0 :(得分:3)
我相信这是因为开放的SQLAlchemy会话,这是正确的吗?
最有可能的情况。要确认,请连接到postgres
数据库并运行SELECT * FROM pg_stat_activity
;
我不确定你是如何处理数据库创建/删除的,但是在确保任何已检出的连接已被检出后,您可能希望在SQLAlchemy连接池上调用dispose()
和可能recreate()
返回(例如,使用session.close()
)。
答案 1 :(得分:0)