/
grigorovich
/
muraway
Обзор
Документация
Войти
/
grigorovich
/
muraway
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
data/db_session.py
31 строка
857 B
Vladimir Grigorovich
Подготовка сервера
04 апр 2022, 07:25
Не верифицирован
04 апр 2022, 07:25
8c5f5cb
Код
Авторство
О чём код?
import sqlalchemy as sa import sqlalchemy.orm as orm from sqlalchemy.orm import Session import sqlalchemy.ext.declarative as dec SqlAlchemyBase = dec.declarative_base() __factory = None def global_init(db_file): global __factory if __factory: return if not db_file or not db_file.strip(): raise Exception("Необходимо указать файл базы данных.") conn_str = f'sqlite:///{db_file.strip()}?check_same_thread=False' print(f"Подключение к базе данных по адресу {conn_str}") engine = sa.create_engine(conn_str, echo=False) __factory = orm.sessionmaker(bind=engine) from . import __all_models SqlAlchemyBase.metadata.create_all(engine) def create_session() -> Session: global __factory return __factory()