On this page
database
Миграции и тесты
Alembic
Миграции backend лежат в:
src/backend/alembic.inisrc/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