This software provides a collection of functions designed to manage an SQL database using a Journalled approach.
To make journalling work correctly, every table in your database, regardless of its PostgreSQL or MySQL definition, will require additional fields. These include pkey, id, uid, suid, epoch, and status, as shown in MySQL definition. The column 'pkey' should also be defined as the primary key. Note that with the Journalling code, none of the records in your database can ever be deleted. Instead, you can set their status to 0, and copy their data to a new record that has status equal to 1. That way, you can follow all the changes applied to your database.
When the database becomes too large, you can back it up and delete some records with status equal to 0. If the authentication has not been disabled, you can easily record the userid or superuser-id of the current user making the changes in the uid and suid fields. Superusers can also impersonate themselves as ordinary users, in which case the uid will represent the user id, and suid the superuser id.
Overall, Apache::WeSQL::Journalled provides a reliable and straightforward solution for working with SQL databases in a Journalled way.
Version 0.53: N/A