2013-03-20 90 views
1

我正在使用java创建Google应用程序引擎。 对于这个应用程序,我想预先填充数据库上的一些信息(例如:角色,权限等)。 我该如何在我的本地数据存储上做到这一点?当我上传应用程序时,我该怎么做? 似乎有一些python工具可以与服务器数据存储一起使用,但不是本地数据库。如何预先填充GAE本地数据库

+0

你的意思是如何使用开发服务器时要坚持在数据存储对象? – MikO 2013-03-20 18:34:01

+0

不是。在第一次运行应用程序之前,我已经需要有关于数据存储的一些信息(例如:管理员用户的用户名)。如果没有,我将无法使用该应用程序。我的问题是如何做第一次插入。 – Nahoot 2013-03-20 19:25:49

回答

0

向您的应用程序添加一个servlet,以将所需的数据保存到数据存储区。然后,在第一次运行应用程序之前访问该servlet的URL。

这是最简单的方法。如果你愿意,你将应用程序上传到GAE后使用这种方法,请确保您添加一个安全约束,这样只有你可以调用这个servlet:

<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 2013-03-20 23:40:37

0

您可以使用远程API来与真实的数据存储进行通信。

您编写与本数据存储会谈的本地运行代码。效率相当低,您不想以这种方式传输大量数据,但如果只是为少数几个实体进行设置,它就可以完成这项工作。

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

+1

这很有趣。但我认为我正在与马修的回答一起。谢谢。 – Nahoot 2013-03-22 11:59:31