Простое управление версиями (в PHP / Zend Framework)? - PullRequest
0 голосов
/ 29 июля 2010

Мне интересно, как я могу иметь простое управление версиями, скажем, я хочу иметь возможность отменить прошлые изменения (всего до 3). возможно, потому что приложение позволяет другому пользователю редактировать сообщение. но я могу хотеть, чтобы владелец восстановил почту например.

мне просто сохранить полный пост в другом поле?

Ответы [ 3 ]

3 голосов
/ 29 июля 2010

Одним из предложений может быть что-то вроде этого:

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

Добавить "ревизию" к каждой строке сообщения.Каждый раз, когда пользователь редактирует сообщение, вы сохраняете новую строку в таблицу, но с более высокой ревизией.А при показе постов вы просто получаете тот, у которого самая высокая ревизия ..

1 голос
/ 29 июля 2010

Я сделал это ранее, создав таблицу, которая содержит следующие столбцы: идентификатор, значение сериализации всей строки, для которой требуется создать резервную копию, таблица, для которой она предназначена, дата и время, почему была создана резервная копия.* Таким образом, у вас есть полный список всех версий этой таблицы.Я использую Doctrine ORM, чтобы я мог настроить хук postSave для создания новой резервной версии в этой таблице.

0 голосов
/ 31 июля 2010

Doctrine Versionable Bebaviour может быть самым простым решением для вас:

Doctrine - Doctrine ORM для PHP - Версия

...