# Database Revision Handling

- database revisions change with major releases only
- minor (bugfix) releases never require a database change
- if a change in a released database becomes necessary a fixup SQL script will be released
- database upgrades are handled by means of SQL change scripts which are under CVS control
- successfull application of change scripts is logged in a table
- the schema is verified before and after upgrading
- plausibility checks which compare data before and after an upgrade are applied

- clients require a particular schema version to work with
- at startup the client verifies the schema and fails to connect if the database does not match
- mapping client version to database version is done in `gmPG2.py`