GAE Изменение данных в вашем локальном хранилище объектов - PullRequest
3 голосов
/ 16 июля 2010

Я работал над приложением, использующим GAE в Eclipse, и у меня есть куча объектов данных.Иногда мне нужно изменить их тип, например String -> Text, чтобы они могли хранить больше данных.

Какой самый быстрый и простой способ выполнить массовое обновление в хранилище данных / объектов?Я знаю, что мог бы написать код Java для итерации каждого объекта, но наверняка есть более простой способ?

Ответы [ 2 ]

3 голосов
/ 16 июля 2010

Обычно нет другого способа, кроме итерации хранилища и изменения данных вручную.Хранилище данных иначе недоступно.Однако, начиная с версии 1.3.3 SDK, теперь есть возможность использовать SQLite в качестве бэкэнда хранилища данных.Для включения установите флаг --use_sqlite = true

Затем вам нужно будет найти файл SQLite и иметь возможность использовать любой клиент SQLite для манипулирования данными.

ОБНОВЛЕНИЕ: КакНик Джонсон отметил, что поддержка SQLite доступна только для Python SDK, а данные закодированы, что затрудняет задачу непосредственного редактирования содержимого таблиц в зависимости от изменений.Это лишает законной силы этот ответ, поскольку автор ищет простое решение на основе Java: /

1 голос
/ 19 июля 2010

Лучшим вариантом для этого является недавно выпущенная appengine-mapreduce библиотека , которая имеет версии как для Java, так и для Python.

В случае преобразования из String в Text, тем не менее, естьнет необходимости вручную просматривать и обновлять старые сущности - они будут исправлены, когда они будут в следующий раз написаны вашим приложением, и в то же время будут работать правильно.

...