Backend Set variables for db connetion in Database.php file Copy DB from dump.sql run server by command:
php -S localhost:8000
Frontend
cd frontend
npm i
npm start
Есть клиенты clients
, которые посещают занятия sessions
. Их отметка о посещении хранится в таблице session_members
.
Есть клиенты clients, которые посещают занятия sessions. Их отметка о посещении хранится в таблице session_members. Так получилось, что в коде была допущена ошибка, из-за которой создались дубликаты записей в таблице занятий sessions, что привело уже к другой ошибке – клиенты были отмечены, как на занятиях оригиналах, так и на занятиях-дублях (см. данные в session_members).
Необходимо систему вернуть к её устойчивому состоянию, которое предполагает, что:
- Может проходить только одно занятие в определённое время, созданное по определённой конфигурации. Не может быть такого, что в таблице sessions есть несколько записей, у который start_time и session_configuration_id повторяются.
- Клиент может быть отмечен только 1 раз на занятии. Не может быть такого, что в таблице
session_members
есть несколько записей, у которыхsession_id
иclient_id
повторяются.
Для этого потребуется написать запрос SQL и/или PHP-код – на ваш выбор, т.е. вы можете написать всё на “чистом” SQL, а можете прибегнуть к использованию PHP, чтобы получать данные из БД и производить с ними манипуляция. После выполнения запросов в таблице sessions должны остаться только оригинальные занятия, т.е. все дубликаты должны удалиться. При этом, если на занятия-дубликаты уже были отмечены клиенты, то их отметки должны перенестись на занятия-оригиналы (могут быть ситуации, когда клиент был отмечен на занятие-дубликате, и не был отмечен на занятие-оригинале – в таких случаях его отметку нужно перенести на занятие-оригинал).
Окружение
- MySQL 8
- PHP 8