Поддержание обратной совместимости с моей базой данных объектов?
-
18-09-2019 - |
Вопрос
Я пишу приложение с помощью базы данных объектов (DB4O) и в Agile Fashion будет начинаться с небольшой минимальной реализации и итеративно добавляя функции оттуда, выпуская новые версии программного обеспечения, как я иду.
Основной вопрос, который у меня есть, заключается в том, как поддерживать обратную совместимость для базы данных, поскольку разработаны новые реализации классов моделей, чтобы пользователи смогли использовать сохраненные данные First Edition с программным обеспечением 10th Edition.
Есть ли некоторые стандартные способы сделать это, особенно использование базы данных объектов?
Решение
DB4O поддерживает эволюцию автоматической схемы объекта для основных изменений модели класса (удаление имени поля/добавление). Более сложные изменения модели класса, такие как изменение имени поля, изменение типа поля, перемещение иерархии не автоматизировано из коробки, но может быть автоматизировано путем написания программы небольшого обновления утилиты.