У меня небольшая проблема с моим текущим приложением колба + SQLAlchemy. Я создаю экземпляр базы данных / движка, который подключается к базе данных 'master'
, которая всегда существует на сервере SQL, и после этого я создаю свою тестовую базу данных и меняю базу данных существующего движка с 'master'
на эту новую базу данных. Моя проблема в том, что я, кажется, неправильно выполняю «переопределение» баз данных для этого механизма.
def create_db(self):
url = copy(self.db.engine.url) # current url points to database 'master'
engine = create_engine(url, connect_args={'autocommit': True}, isolation_level='AUTOCOMMIT')
res = engine.execute(f"exec dbo.create_my_test_temp_db")
tempdbname = res.fetchone()[0] # this is the new DB the stored proc created for us
res.close()
engine.dispose()
self.db.engine.url.database = tempdbname # repoint to the new DB (doesn't work)
return tempdbname
Я должен использовать хранимую процедуру dbo.create_my_test_temp_db
, которая на стороне сервера, потому чтоон создает магию при создании базы данных. Я изменяю базу данных в URL-адресе, и строка подключения для механизма показывает новую базу данных, но все операции выполняются с master.
Как я могу изменить базу данных для существующего механизма на другую базу данных?