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