在Flask-SQLAlchemy中自动提交

时间:2014-08-08 07:13:08

标签: postgresql flask sqlalchemy

如何设置我的Flask应用程序初始化以将Flask-SQLAlchemy设置为自动提交模式,除非我明确session.begin(),否则不使用事务?

会话" begins a database transaction as soon as it starts communicating"。这是否会影响Postgres 更难而不是MySQL?


Instagram

  

自动提交模式;在这种模式下,Psycopg2不会发出BEGIN / COMMIT   任何疑问;相反,每个查询都在自己的单语句中运行   交易。这对于只读查询特别有用   不需要事务语义。这很简单:

     

connection.autocommit = True

     

这减少了我们的应用程序服务器和数据库之间的聊天   显着,并在数据库框上降低了系统CPU

2 个答案:

答案 0 :(得分:12)

我认为您可以在Flask-SQLAlchemy中设置autocommit

from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(session_options={'autocommit': True})

答案 1 :(得分:0)

由于您使用的是Flask-SQLAlchemy,因此默认情况下为autocommit = False。见code here

确实如果你想在默认情况下打开自动提交,你必须覆盖SQLAlchemy.create_session功能。