SQLAlchemy: получить имя базы данных из соединения - PullRequest
0 голосов
/ 25 мая 2020

Интересно, можно ли получить имя базы данных после подключения. Я знаю, что это возможно с движком, созданным функцией create_engine ( здесь ), и я хотел бы иметь такую ​​же возможность после подключения.

from sqlalchemy import create_engine, inspect
engine = create_engine('mysql+mysqldb://login:pass@localhost/MyDatabase')
print (engine.url.database) # print the dabase name with an engine
con = engine.connect() 

Я посмотрел на инструмент инспектора, но нет способа получить имя базы данных, например:

db_name = inspect(con.get_database_name() )

Может быть, это невозможно. Есть идеи?

Большое спасибо!

1 Ответ

0 голосов
/ 25 мая 2020

Для MySQL, выполнения select DATABASE() as name_of_current_database должно быть достаточно. Для сервера SQL это будет select DB_NAME() as name_of_current_database. Я не знаю ни одного портативного способа сделать это, который работал бы независимо от серверной части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...