Database schema evolution tool
Consider an RDBMS with a given set of tables, data records and constraints. Software evolution requires schema evolution:
-
Adding new tables and views.
-
Adding / replacing data columns.
-
Changing types.
-
Adding / removing / changing integrity constraints.
Upgrading may involve:
-
Dumping the existing data to a series of JSON or XML files among with a database schema export.
-
Post modifying both exported data and schema to meet the desired version's schema.
Note
In practice a database's size may effectively prohibit validation due to memory / performance limits.
-
Import data and integrity constraint to upgraded database.
