python sqlalchemy nicht ausgeführt sql query

Ich arbeite mit Python und sqlalchemy, um Tabellen zu trennen, die in SQL server gespeichert sind. Es scheint, dass die SQL-Abfrage, die als Argument in session.execute function gegeben wird, einfach nicht ausgeführt wird. Die Tabelle enthält noch data.

Wenn ich die gleiche Abfrage in SQL server MS ausdrucke und ausführe, tut es genau wie erwartet.

Hilfe wird geschätzt!

 tableName = 'someTable' engine = sqlalchemy.create_engine('connectionString') Session = scoped_session(sessionmaker(bind=engine)) currentSession = Session() query = 'IF (' 'EXISTS (' 'SELECT * FROM INFORMATION_SCHEMA.TABLES ' 'WHERE TABLE_SCHEMA = \'dbo\' ' 'AND TABLE_NAME = \'%s\')) ' 'BEGIN ' 'DELETE FROM [database].[dbo].[%s] ' 'END' % (tableName,tableName) session.execute(query) print(query) 

Das Problem ist, dass Sie Ihre Transaktion nicht begehen. Abhängig von Ihrer configuration müssen Sie autocommit auf True setzen oder Ihre Transaktion nach der Ausführung beenden (in der Regel in mehreren transactions behandelt, die einen Rollback erfordern würde):

Sie können das hier einstellen:

 sessionmaker(bind=engine, autocommit=True) 

oder:

 session.commit() 

Verweis auf sessionmaker() :

http://docs.sqlalchemy.org/en/latest/orm/session_api.html