Вы должны спроектировать структуру данных, например, «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 -камеру.