Изменение «схемы» с помощью Google AppEngine и Objectify

Я изучаю веб-разработку с помощью Google AppEngine (Java). У моего приложения очень простые требования к хранилищу данных, которые хорошо подходят для «карты» AppEngine, такой как хранилище данных.

Базовая единица — это один класс, который будет иметь переменные-члены, которые будут записываться или считываться из базы данных для каждой транзакции (это связано с тем, что он взаимодействует с приложением Android).

Я рассматриваю возможность использования Objectify для взаимодействия.

Мои вопросы: что произойдет, если я позже изменю размер (количество переменных) в своем базовом классе? Я знаю, что AppEngine не типизирован, но Objectify вызовет ли какие-либо проблемы, если некоторые переменные доступны для одних ключей, а не для других?


person Saad Farooq    schedule 22.02.2012    source источник


Ответы (2)


Об этом подробно написано в инструкции:

http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Migrating_Schemas

Короткий ответ: вы можете добавлять и удалять поля по своему желанию. Кроме того, есть средства для более сложных преобразований данных.

person stickfigure    schedule 22.02.2012

Если позже вы решите перейти с Objectify framework на низкоуровневый API, у вас не возникнет проблем. Хранилище данных механизма приложения типизировано, но не для всех типов Java. Я не знаю, сможете ли вы заставить JDO или JPA работать без чтения и перезаписи всех ваших данных, но я думаю, что вы, вероятно, сможете.

Метод Objectify 4 для хранения карты довольно удобен — сохранение свойств как что-то вроде «fieldname-mapkey».

person mjaggard    schedule 22.02.2012