2013-03-20 3 views
1

Я создаю Google Application Engine с помощью java. Для этого приложения я хочу предварительно заполнить некоторую информацию о базе данных (например: роли, разрешения и т. Д.) Как я могу это сделать в своем локальном хранилище данных? И как это сделать, когда я загружаю приложение? Кажется, есть некоторые инструменты python для работы с хранилищем данных сервера, но не с локальной базой данных.Как предварительно заполнить базу данных GAE

+0

ли вы имеете в виду, как сохранить объекты в хранилище данных при использовании сервера развития? – MikO

+0

Не совсем. До первого запуска приложения мне уже нужно иметь некоторую информацию о Datastore (например: имя пользователя администратора). Если нет, я не смогу использовать приложение. Моя проблема заключается в том, как сделать первую вставку. – Nahoot

ответ

0

Добавить сервлет в приложение, которое хранит данные, необходимые для хранилища данных. Затем просто зайдите в URL сервлета, прежде чем запускать приложение.

Это самый простой способ. Если вы хотите использовать этот подход, после того, как вы загрузите приложение на GAE, убедитесь, что вы добавить ограничение безопасности, так что только вы можете вызвать сервлет:

<security-constraint> 
    <web-resource-collection> 
     <url-pattern>/admin/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
    </auth-constraint> 
</security-constraint> 

https://developers.google.com/appengine/docs/java/config/webxml#Security_and_Authentication

+1

Нет точно, чего я ожидал ... это немного уродливо ... Но все в порядке, это решение ... спасибо – Nahoot

0

Вы можете использовать удаленный API для общаться с реальным хранилищем данных.

Вы пишете код, который запускается локально, что говорит с хранилищем данных. Это довольно неэффективно, и вы не хотите передавать много данных таким образом, но если это только настройка для нескольких сущностей, он выполнит эту работу.

https://developers.google.com/appengine/docs/java/tools/remoteapi

+1

Это интересно. Но я думаю, что я пойду с ответом Мэтью. Благодарю. – Nahoot

Смежные вопросы