I assume you are not expecting much to change in the database, and that
you are therefore mostly doing selects, so why not continue to use
MySQL? If you do, you can use MySQL's Update Log to take snapshots of the
database whenever you want (and store them somewhere with date-appropriate
names) and use them for "versioning".

Rolling back to an earlier "version" of your data is as simple as creating
a new DB from your table defs, then "mysqlbinlog log-file | mysql new-db"

See http://www.mysql.com/doc/B/i/Binary_log.html for more info.

~~~~~~~~~~~
Nick Tonkin

On Thu, 15 Nov 2001, Jonathan M. Hollin wrote:

> Hi people,
> 
> I am currently developing a content management system under mod_perl, with
> data stored in an RDBMS (MySQL at present, but Oracle on the production
> server).
> 
> I would like to add version control to published documents (read pages) and
> wondered if anyone has any experience of this who would be willing to offer
> me some advice.  I have a CVS server and am curious as to whether there is
> some way this can used (bearing in mind that I want to manage DB data, not
> files).  I would like to be able to rollback to any previous version (if
> possible), and would also like to document the different versions
> themselves.
> 
> I'm thinking that I could maybe commit the database files to CVS and then
> use a module to communicate with the CVS server (Apache-CVS, VCP, VCS-CVS,
> etc).  Is this possible?  Has anyone ever tried anything like this?
> 
> I have searched CPAN and used Google to search the web and Usenet but have
> so far drawn a blank.
> 
> I suspect that I will not be able to use CVS in this manner and that
> therefore I am going to have to "roll my own".  If this does turn out to be
> case - can anyone lend me any guidance as to how I work out what's changed
> in a record (between versions)?  Then I can just store the changes in a DB
> as required.
> 
> Jonathan M. Hollin - WYPUG Co-ordinator
> West Yorkshire Perl User Group
> http://wypug.pm.org/
> 
> 

Reply via email to