2016-11-29 2 views
0

Ich versuche, NOTIFY in Postgresql über sqlalchemy zu senden. Hier ist der Teil des Codes:Wie zu vermeiden ROLLBACK-Anweisung in Raw SQL in Flask-sqlalchemy

from flask_sqlalchemy import SQLAlchemy 
db = SQLAlchemy() 
db.engine.execute("NOTIFY DHCP") 

Welche der folgenden SQL-Code generiert:

2016-11-29 14:58:41 +05 [20571-16] [email protected] LOG: statement: BEGIN 
2016-11-29 14:58:41 +05 [20571-17] [email protected] LOG: statement: NOTIFY DHCP 
2016-11-29 14:58:41 +05 [20571-18] [email protected] LOG: statement: ROLLBACK 

Warum habe ich ROLLBACK-Anweisung im Code und wie sich ändern ein zu begehen?

Antwort

0

Hier ist die beste Lösung, die ich finden konnte:

from flask_sqlalchemy import SQLAlchemy 
db = SQLAlchemy() 
connection = db.engine.connect() 
transaction = connection.begin() 
try: 
    connection.execute("NOTIFY DHCP") 
    transaction.commit() 
except: 
    transaction.rollback() 
0

Sie werden tun wollen:

db.session.execute("...") 
db.session.commit()