SQLAlchemy не может использоваться для удаления оператора базы данных внутри пользовательской транзакции - PullRequest
1 голос
/ 25 октября 2019

У меня есть код ниже, который завершается с сообщением

from sqlalchemy_utils.functions import database_exists, create_database, drop_database

url = f'mssql+pymssql://user:secret_password@db_host/my_database?charset=utf8'
if database_exists(url):
    drop_database(url)
create_database(url)

Ошибка:

sqlalchemy.exc.OperationalError: (pymssql.OperationalError) (574, b'DROPОператор DATABASE нельзя использовать внутри пользовательской транзакции. Сообщение об ошибке DB-Lib 20018, уровень серьезности 16: \ nОбщая ошибка SQL Server: проверка сообщений от SQL Server \ n ') E [SQL: DROP DATABASE my_database] E

(Справочная информация об этой ошибке на: http://sqlalche.me/e/e3q8)

Не уверен, что я делаю неправильно - примеры в Интернете показывают это как действительный код. Нет состояния - я выполнил выше всвежая сессия ipython.

...