An open API service indexing awesome lists of open source software.

https://github.com/ktsstudio/hw-backend-summer-2022-3-sqlalchemy


https://github.com/ktsstudio/hw-backend-summer-2022-3-sqlalchemy

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

### Что нужно сделать?

Переписать проект из прошлого модуля, используя библиотеки **sqlalchemy** и **alembic**

#### Подробнее о задании

##### 1. Подключение alembic

Для повторения темы можете пересмотреть видеоурок. Для локальной проверки тестов рекомендуется присвоить в переменную
окружения CONFIGPATH путь до собственного конфига. Alembic необходимо инициализировать в корне репозитория.

##### 2. Поправить модели

Дополнить модели в соответствии с API:
* AdminModel
* ThemeModel
* QuestionModel
* AnswerModel

**При проектировании базы нужно учесть следующие ограничения:**
- поле **title** в таблицах **questions** и **themes** уникальное.
- при удалении записей из таблиц **questions** и **themes** должны удаляться все связанные записи.
Пояснение:
При удалении темы - должны удаляться все связанные с ней вопросы. Аналогично при удалении вопроса - удаляются варианты ответов.
- Нельзя добавить информацию о вопросе или ответе по несуществующему в базе значению внешнего ключа.

##### 3. Переписать методы аксессоров на работу с базой данных

Не изменяя определение методов, поддержать ожидаемое поведение.