Атрибут url класса Engine
Атрибут url класса Engine возвращает
объект URL, который представляет строку
подключения к базе данных в разобранном виде.
Этот объект содержит диалект, драйвер, имя
пользователя, пароль, хост, порт и имя базы данных.
Атрибут доступен только для чтения и устанавливается
при создании движка функцией create_engine.
Синтаксис
engine.url
Пример
Давайте создадим движок для базы SQLite
в памяти и выведем его атрибут url:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print(engine.url)
Результат выполнения кода:
"sqlite:///:memory:"
Пример
Давайте разберем строку подключения на отдельные
компоненты через атрибуты объекта URL:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print(engine.url.drivername)
print(engine.url.database)
print(engine.url.host)
Результат выполнения кода:
"sqlite"
":memory:"
None
Пример
Давайте создадим движок с полной строкой подключения и посмотрим, как разбирается URL:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
url = engine.url
print(url)
print(url.get_backend_name())
print(url.get_driver_name())
Результат выполнения кода:
"sqlite:///:memory:"
"sqlite"
"pysqlite"
Пример
Давайте получим объект URL с помощью
метода render_as_string, скрыв пароль:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print(engine.url.render_as_string(hide_password=True))
Результат выполнения кода:
"sqlite:///:memory:"