views:

87

answers:

1

I am writing an application using an object database (db4o) and in agile fashion will be starting from a small, minimal implementation and iteratively adding features from there, while releasing new versions of the software as I go.

The main question I have is how to maintain backwards compatibility for the database, as new implementations of the model classes are developed, so that users will be able to use first edition saved data with 10th edition software.

Are there some standard ways to do this, especially using an object database?

+3  A: 

db4o supports automatic object schema evolution for the basic class model changes (field name deletion/addition). More complex class model modifications, like field name change, field type change, hierarchy move are not automated out-of-the box, but can be automated by writing small utility update program.

See documentation here and here.

Adrian
very helpful, thank you
Alex Baranosky