git clone https://github.com/neeearina/eduAPI.git
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
alembic upgrade 153fb29cf9e4
cd app
Должен появиться файл db.sqlite. ERD базы данных
uvicorn main:app --reload
pip install alembic
alembic init migrations
-
В файле alembic.ini настроить sqlalchemy.url - указать путь до базы данных.
-
В файле env.py настроить переменную target_metadata, в которую передается базовый класс для моделей-таблиц.
-
Импорты классов таблиц-моделей лучше сделать в файл init в том же пакете, где объявлен базовый класс.
alembic revision --autogenerate -m 'initial'
alembic upgrade 4be659b1e34b
4be659b1e34b - хеш миграции из комментария Revision ID в последнем файле в папке migrations/versions
- Сначала пользователь регистрируется по ендпоинту /users
- Далее по ендпоинту /login отправляет данные для получения jwt-токена
- jwt-токен можно использовать для защищенных роутов (Token Bearer)
docker build -t NameApp .
docker images
docker run -p 3001:8001 8f3ce4170bdc
docker-compose build
docker-compose up
docker login
docker push neeearina/meapp:latest
docker pull neeearina/meapp:latest
docker run -p 3001:80 --name ContainerName neeearina/meapp
pytest
- Загрузка/выгрузка фикстур работает не всегда - иногда не видит файл с БД. Либо же найти решение, чтобы избавиться от костылей))
- Написать тесты - исправить структуру проекта + для работы с тестовой БД надо изначально создавать ее по другому
- Редактировать/удалять данные на роутах могут только те пользователи, которые создавали эти данные
- Классы моделей распределить по файлам и вынести в отдельную папку. Если их вынести сейчас, то alembic перестанет видеть модели
- НАСТРОИТЬ DOCKER ААААААААААААааааААААА