Система тестирования, поддерживающая вопросы с нечеткой логикой и возможностью выбора нескольких вариантов ответа
1. Инициализация БД (перенос БД на хост систему и создание пользователя БД с привилегированными правами)
-
Для Linux
- из корня проекта выполнить:
make init-db
- из корня проекта выполнить:
-
Для Windows
- выполнить первоначальный запуск контейнеров
docker compose up -d
- создать БД и пользователя БД с привилегированными правами:
# Заходим в запущенный контейнер пользователем postgres docker exec -it -u postgres ts-db bash psql # Выполняем SQL CREATE USER ts_dba WITH ENCRYPTED PASSWORD 'ts_dba'; CREATE DATABASE ts; GRANT ALL PRIVILEGES ON DATABASE ts TO ts_dba; \q # Выходим из контейнера exit
- выполнить первоначальный запуск контейнеров
-
Для корректного отображения SQL в файлах миграций устанавливает диалект SQL в PHPStorm:
- Кликаем по SQL коду Alt + Enter -> Change SQL dialect -> выбираем Postgres
-
Запуск сервисов в контейнерах
Из корня проекта выполнить:
docker compose up -d
-
Миграция БД к последней версии
docker-compose exec php php bin/console doctrine:migrations:migrate
-
Почему в миграции нежелательно использование метода
down()
?Как правило, в методе down закладывается логика действий обратных по отношению к действиям в методе up (возможность отмены/отката изменений сделанных миграцией). Однако, нет никаких гарантий того, что заложенная в методе down логика "отката" будет абсолютно безопасной в будущем по отношению к изменениям, которые будут происходить после данной миграции. Если необходимы действия "отката", необходимо оформить их в виде новой миграции.