开发者

Simple versioning (in PHP/Zend Framework)?

开发者 https://www.devze.com 2023-01-09 21:30 出处:网络
i am wondering how can i have simple versioning, say i want to be able to undo past edits (just up to 3 will do) to a post. maybe because the app a开发者_如何学编程llows other user to edit a post. but

i am wondering how can i have simple versioning, say i want to be able to undo past edits (just up to 3 will do) to a post. maybe because the app a开发者_如何学编程llows other user to edit a post. but i may want the owner to restore the post for example.

do i just store the full post in another field?


One suggestion could be something like this:

you propably have each post as a separate row in the table and it has indexes that point to right threat and you retain their order by those indexes.

Add a "revision" to each post row. Everytime user edits the post, you store a new row into table but with higher revision. And when showing the posts, you just fetch the one with highest revision..


I've done this previously by creating a table which contains the following columns: id, serialisation value of entire row you want backed up, the table it is for, datetime, why the backup was created.

That way you have a complete listing of all the versions of that table. I use Doctrine ORM so that way I can setup a postSave hook to create a new backup version in that table.


Doctrine Versionable Bebaviour may be the simplest solution for you:

Doctrine - Doctrine ORM for PHP - Versionable

0

精彩评论

暂无评论...
验证码 换一张
取 消