Я работаю в системе, которая теперь требует поддержки версий.Кратко объясню вам проект.У нас есть CMS, в которой есть три пользователя: 1. Super Admin, 2. Editor, 3. Approver.Редактор добавляет данные из CMS и отправляет их утверждающему, если он утверждает данные только в том случае, если они видны во внешнем интерфейсе.Теперь, если редактор отредактирует те же данные, затем они будут отклонены и удалены из интерфейса и agian, он отправит их утверждающему, и тот же процесс будет следовать.Вот как это работает сейчас.
Теперь клиент изменил требование, и теперь он хочет, чтобы после того, как данные были утверждены и видны на сайте, т. Е. Интерфейс и редактор теперь редактирует данные, он не долженудалены из внешнего интерфейса, и новые отредактированные данные должны быть отправлены на утверждение, а когда утверждающий утверждает данные, старый должен быть заменен новым во внешнем интерфейсе.
Дизайн базы данных очень плохой, поэтому он собираетсяТрудно добиться этого.
Решение, о котором мы думали, это ... Например, редактор может добавить какие-то новости в интерфейс.Все данные по новостям добавляются в таблицу новостей.Редактор добавляет, что новость отправляет его на утверждение, а затем он утверждает.До сих пор нет проблем.Теперь предположим, что по какой-то причине он хочет отредактировать ту же новость, которая одобрена.В тот момент, когда он нажимает кнопку редактирования, она удаляется из внешнего интерфейса, поэтому мы думаем, что поддерживаем другую таблицу, например, temp_news с той же структурой, и в тот момент, когда он нажимает на редактирование новостей после их утверждения, новая запись должна быть вставлена в таблицу temp_news.со значениями из таблицы новостей, добавленных в эту таблицу.До этого момента во внешнем интерфейсе мы будем отображать новости из таблицы новостей.Так что теперь у нас одинаковые новости в двух таблицах.Теперь утверждающий и редактор могут вносить все изменения, и мы обновим таблицу temp_news.В тот момент, когда утверждающий одобрит эти измененные данные, мы обновим таблицу новых значениями из таблицы temp_news.так что теперь в передней части у нас есть обновленные новые.Проблема с этим решением состоит в том, что после утверждения изменения обе таблицы news и temp_news содержат самые последние данные.Это не управление версиями.Нужно решение для этого.
Я только начинающий.