Лучшие практики подтверждают изменения данных второго perosn - PullRequest
0 голосов
/ 10 апреля 2020

Я ищу шаблон оптимальной практики / дизайна, позволяющий вносить изменения в данные в базе данных.

Требование заключается в том, что человек А хочет обновить некоторые данные. Например, электронная почта, адрес или название компании. Все изменения от лица А не видны на веб-странице до тех пор, пока Лицо Б не проверит эти изменения и не подтвердит это. Данные хранятся в базе данных. Теперь у меня вопрос, какова наилучшая практика / шаблон проектирования для базы данных? Дублировать базу данных и скопировать данные с помощью коммита в другой? Только одна база данных и скопируйте весь набор данных с измененным значением и тегом в этом дополнительном столбце (необходимо проверить).

Я пытался найти что-то с Google, но я думаю, что я не использую правильные модные слова.

Мое единственное модное слово было принципом «четыре глаза», и решением был механизм рабочего процесса, такой как камунда или использование dms или ecm.

Должно быть простое решение этой проблемы, или эта проблема настолько необычна?

Спасибо за помощь.

PS .: пользователь изменяет данные на веб-сайте, а не непосредственно в базе данных.

1 Ответ

0 голосов
/ 11 апреля 2020

Вы должны спроектировать структуру данных, например, «generi c order» или «generi c job». Здесь у вас будет главная таблица, описывающая работу или заказ. Поля будут:

job_id
created_at
created_by
job_ident
job_name
permit_at
permit_by

Любое задание / заказ имеет набор данных ключ / значение. Что будет смоделировано так:

job_id (fk_job_id)
key
value

У каждой работы должна быть реализация. Таким образом, интерпретация пар ключ-значение зависит от этой реализации. Реализация будет инициирована пользователем, поскольку он разрешает изменения, связанные с текущим заданием или заказом.

Модель generi c позволяет вам иметь одну структуру данных независимо от того, какая таблица у вашего приложения.

Вы также можете черпать вдохновение из журналов транзакций базы данных. Обратите внимание, что изменения имеют порядок. Таким образом, вы можете обнаруживать конфликты.

Однако вы можете улучшить структуру данных выше, чтобы заблокировать объект до утверждения.

Вы также можете взглянуть на подпружиненный пакет, где есть похожая структура данных. и обработка.

Пожалуйста, см. apache проект верблюда. Возможно, вы также можете использовать apache -камеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...