Alembic

Миграции backend лежат в:

  • src/backend/alembic.ini
  • src/backend/alembic/
  • src/backend/alembic/versions/

Применение миграций:

cd src/backend
alembic upgrade head

Создание новой миграции:

cd src/backend
alembic revision -m "describe change"

Если вы меняете модели SQLAlchemy, миграция должна быть добавлена в alembic/versions, а не компенсирована ручным create_all.

Что уже мигрируется

По каталогу миграций видно, что схема развивалась добавлением:

  • владения отчетами пользователями
  • source_path для исходных файлов
  • таблиц товаров и селлеров
  • истории лимитов и загрузок
  • ручных значений в строках отчетов
  • ролей и лимитов пользователей

Тесты backend

Тесты лежат в src/backend/tests.

Покрываются:

  • health-check
  • регистрация и логин
  • загрузка, экспорт и удаление отчетов
  • summary export
  • rebuild
  • CRUD товаров
  • парсер отчетов
  • smoke-проверки миграций

Запуск:

cd src/backend
pytest

Особенности тестовой среды

  • по умолчанию тесты используют sqlite+aiosqlite:///:memory:
  • для файлов отчетов используется временная директория /tmp/wbunit_reports_test
  • часть миграционных тестов умеет работать с PostgreSQL, если доступен TEST_PG_ADMIN_DSN