Включить выполнение нескольких операторов во время выполнения через sqlalchemy

У меня есть объект DDL ( create_function_foo ), который содержит инструкцию функции create. В первой строке я положил DROP FUNCTION IF EXISTS foo; но engine.execute(create_function_foo) возвращает:

 sqlalchemy.exc.InterfaceError: (InterfaceError) Use multi=True when executing multiple statements 

Я положил multi=True как параметр для create_engine , engine.execute_options и engine.execute но он не работает.

ПРИМЕЧАНИЕ : engine если мой экземпляр create_engine

ПРИМЕЧАНИЕ . Я использую python 3.2 + mysql.connector 1.0.12 + sqlalchemy 0.8.2

 create_function_foo = DDL("""\ DROP FUNCTION IF EXISTS foo; CREATE FUNCTION `foo`( SID INT ) RETURNS double READS SQL DATA BEGIN ... END """) 

Где я должен сказать?

One Solution collect form web for “Включить выполнение нескольких операторов во время выполнения через sqlalchemy”

multi=True – это требование для соединителя MySql. Вы не можете установить этот флаг, передавая его методам SQLAlchemy. Сделай это:

 conn = session.connection().connection cursor = conn.cursor() # get mysql db-api cursor cursor.execute(sql, multi=True) 

Подробнее здесь: http://www.mail-archive.com/sqlalchemy@googlegroups.com/msg30129.html

Python - лучший язык программирования в мире.