Automatic refactoring
In simplest cases db4o handles schema changes automatically:
- If you add a new field, db4o automatically starts storing the new data. Older instances of your stored class (from before the field was added) are still loaded, but the new field is set to its default value, or null.
- If you remove a field, db4o ignores the stored value when activating instances of your class. The stored value is not removed from the database until the next Defragment, and is still accessible via the StoredClass/StoredField API.
- If you add an interface to be implemented by your stored classes, db4o automatically starts using it and you are able to retrieve your saved data using new interface.