I have a requirement to maintain multiple versions of the database entries.
Here is complete scenario. I have a master database which contains the meta data stored in relational tables. The clients( Windows App), first
connect to the Cental DB and gets latest meta data to the local
embedded DB.Then check out portion of Metadata and make changes
and finally check in to the Central DB with change in Version.
The functionality is almost similar to Source Code Control Management like Checkout,check in,sync with Central server, Updating/maintaining
Versions etc. But here the diff is "data stored in RDBMS" but not files.
Can any one show me the direction how to proceed.
Any opensource code/tool are available which comes close to these
Any related datbase design docs/technical which will be usefull is highly
Whenever a record is updated, insert a "version" record in your database. You can create a duplicate record with version+1 as version. But this version number should also be a part of your PK - unless you have other ways of generating PK.
Versioning depends a lot on the type of the application and the data volumn. Do you want to generate a new version even if a minor detail is modified?
Best idea will be to predefine a set of columns. Any change in any of these column => generate new version.