У меня есть модельная статья, которая имеет ревизии. Редакции имеют множество столбцов, в которых хранится вся информация о статье. Статья также принадлежит к current_revision, который является первичным ключом редакции, которая выбрана в настоящее время. Каждая ревизия никогда не изменяется после создания.
Когда пользователь идет редактировать статью, я хочу отобразить форму, которая показывает все поля, которые находятся в ревизиях, предварительно заполненные этой информацией из current_revision. Это достаточно просто, но когда пользователь отправляется на сохранение, я хочу сравнить каждое поле со значением в current_revision. Если все поля одинаковы, я хочу ничего не делать и отбрасывать форму сообщения. Однако если какое-либо из полей отличается, я хочу создать новую редакцию вместо записи в предыдущую редакцию.
Как я могу определить, изменилось ли какое-либо поле, кроме как путем ручного жесткого кодирования теста для каждого поля Ревизии?