GAE, поменяй класс для постоянного объекта - PullRequest
0 голосов
/ 15 июля 2010

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

private CmsUser author;

, а теперь он сохраняет своего автора как private Key author.

Когда я развернул вторую версию на сервере (как другую версию), она не работала (что вполне предсказуемо).

Есть ли способ заставить его работать?Или мне нужно создать другую сущность вместо узла и написать кусок кода, который изменит все мои старые узлы на новые?

Спасибо.

1 Ответ

2 голосов
/ 15 июля 2010

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

Поскольку, похоже, вы используете Java, вы можете сделать это с помощью API низкого уровня . Если вы использовали Python, есть одна хитрость, которую вы можете сделать с Expando. Смотри здесь

Возможно, вы захотите попробовать новый Mapper API для обработки всех ваших объектов.

...