Ответ
Для создания движка (engine) в SQLAlchemy используется функция create_engine(). Эта функция является центральной точкой входа для взаимодействия с базой данных. Она принимает строку подключения к БД и возвращает объект Engine, который управляет пулом соединений и диалектом базы данных.
Примеры использования create_engine() для разных баз данных:
from sqlalchemy import create_engine
# Для SQLite (файл в текущей директории)
engine_sqlite = create_engine('sqlite:///database.db')
# Для PostgreSQL
# Формат: 'postgresql://user:password@host:port/dbname'
engine_pg = create_engine('postgresql://user:password@localhost:5432/mydatabase')
# Для MySQL с использованием драйвера PyMySQL
# Формат: 'mysql+pymysql://user:password@host:port/dbname'
engine_mysql = create_engine('mysql+pymysql://user:password@localhost:3306/mydb')
Дополнительные параметры, которые можно передать в create_engine():
echo=True: Включает логирование всех SQL-запросов, выполняемых движком, что очень полезно для отладки.pool_size=N: Устанавливает максимальное количество соединений в пуле. По умолчанию 5.max_overflow=M: Максимальное количество соединений, которые могут быть созданы сверхpool_sizeпри пиковой нагрузке.future=True: Активирует использование API 2.0 стиля, который является рекомендуемым для новых проектов.
Объект Engine является фундаментальным компонентом SQLAlchemy, обеспечивающим низкоуровневое взаимодействие с базой данных.