Функция make_url
Функция make_url разбирает строку
URL подключения к базе данных и возвращает
объект URL. Первым параметром функция
принимает строку URL подключения. Полученный
объект содержит отдельные компоненты адреса:
диалект, драйвер, имя пользователя, пароль,
хост, порт и имя базы данных.
Объект URL удобно использовать, когда
нужно программно изменить часть строки
подключения. Например, подменить пароль или
имя базы данных, не собирая новую строку
вручную.
Синтаксис
make_url(name)
Пример
Давайте разберем строку URL подключения
к базе SQLite в памяти:
from sqlalchemy import make_url
url = make_url('sqlite:///:memory:')
print(url)
Результат выполнения кода:
"sqlite:///:memory:"
Пример
Давайте разберем строку URL подключения
к PostgreSQL и выведем отдельные
компоненты адреса:
from sqlalchemy import make_url
url = make_url('postgresql://user:secret@localhost:5432/articles')
print(url.drivername)
print(url.username)
print(url.password)
print(url.host)
print(url.port)
print(url.database)
Результат выполнения кода:
"postgresql"
"user"
"secret"
"localhost"
5432
"articles"
Пример
Давайте изменим пароль и имя базы данных
в объекте URL и получим новую строку
подключения:
from sqlalchemy import make_url
url = make_url('postgresql://user:secret@localhost:5432/articles')
new_url = url.set(password='newpass', database='blog')
print(new_url)
Результат выполнения кода:
"postgresql://user:newpass@localhost:5432/blog"
Пример
Давайте получим объект URL и передадим
его в функцию create_engine для
создания движка:
from sqlalchemy import create_engine, make_url
url = make_url('sqlite:///:memory:')
engine = create_engine(url)
print(engine)
Результат выполнения кода:
"Engine(sqlite:///:memory:)"
Смотрите также
-
функцию
create_engine,
которая создает движок подключения к базе данных -
функцию
engine_from_config,
которая создает движок из словаря настроек -
функцию
create_pool_from_url,
которая создает пул соединений по URL -
класс
QueuePool,
который представляет пул соединений с очередью