Refactoring With Relational Databases and Refactoring Challenge Thirteen and Refactoring SQL provide some great entrypoints
for getting into the question that a lot of XP-freaks could not answer to my satisfaction so far… Refactoring for database-bound systems (including a continous change of the ER-model, test-data, archiving/versioning of the DB,etc…).
One must admit that thinking of changing some simple text-files (Java-source or whatever) is a hell lot easier from the technical viewpoint than changing databases, according configuration data, etc… isn't it? I guess this is one of the real challenges in a real project…
Comments
Refactoring With Relational Databases
I guess one acceptable solution would be to :
- version database creation scripts (to be able to build from scratch)
- version and migration scripts from version n to n+1.
Of course it would be difficult to provide a 'reverse refactoring changes' solution.
/Gilles Philippart