Xhange классы атрибуты в существующем db4o в Android - PullRequest
3 голосов
/ 21 июня 2011

Я планирую использовать db4o в своем проекте Android для хранения объектов, но меня беспокоит, если в будущем я захочу изменить один из атрибутов объектов, как мне поступить с существующими данными этого объекта в файле db4o?Я знаю, что в среде sqlite3 это можно сделать, изменив структуру таблицы в методе onUpgrade (), так как же с этим справится db4o?

1 Ответ

2 голосов
/ 21 июня 2011

в db4o действительно зависит от изменений.

  • Поле добавления: вы просто добавляете его.Новое поле будет иметь значение по умолчанию этого типа.(ноль для ссылок, 0 для чисел)
  • Удаление поля: db4o просто игнорирует удаленное поле.Вы можете получить доступ к старым данным удаленного поля.Как только вы обновите объект, значение старого поля будет удалено.
  • Переименование полей и классов можно сделать с помощью этого вызова .
  • Изменение типаполе.Это похоже на добавление нового поля.Вам нужно скопировать значения над собой.См. здесь .
  • Добавление интерфейсов не влияет на db4o.
  • Удаление типа из иерархии наследования: не поддерживается.

В общем, посмотрите здесь .

...