22 lines
855 B
Python
22 lines
855 B
Python
"""Инициализация схемы и справочников (для тестов и локального быстрого старта).
|
||
|
||
В production схема создаётся миграциями Alembic; этот модуль удобен для тестов,
|
||
где БД поднимается из чистого состояния.
|
||
"""
|
||
from __future__ import annotations
|
||
|
||
from sqlmodel import SQLModel
|
||
|
||
from app.db.session import engine
|
||
from app.seed.reference_data import seed_reference_data
|
||
from sqlmodel import Session
|
||
|
||
# Импорт моделей обязателен, чтобы они зарегистрировались в SQLModel.metadata.
|
||
import app.models # noqa: F401
|
||
|
||
|
||
def create_db_and_seed() -> None:
|
||
SQLModel.metadata.create_all(engine)
|
||
with Session(engine) as session:
|
||
seed_reference_data(session)
|