我一直在使用Eclipse中的GAE开发应用程序,有很多数据对象。有时我需要更改它们的类型,例如String
-> Text
,以便它们可以存储更多的数据。
有没有最快最简单的方法来批量更新数据/对象存储?我知道我可能可以编写Java代码迭代每个对象,但肯定有更简单的方法吧?
我一直在使用Eclipse中的GAE开发应用程序,有很多数据对象。有时我需要更改它们的类型,例如String
-> Text
,以便它们可以存储更多的数据。
有没有最快最简单的方法来批量更新数据/对象存储?我知道我可能可以编写Java代码迭代每个对象,但肯定有更简单的方法吧?
通常情况下,没有其他方法可以迭代存储并手动更改数据。数据存储不可访问。但是,从SDK的1.3.3版本开始,现在可以使用SQLite作为数据存储后端。要启用,请设置标志--use_sqlite=true
然后,您需要找到SQLite文件,并应该能够使用任何SQLite客户端来操作数据。
更新:正如Nick Johnson所指出的那样,SQLite支持仅适用于Python SDK,并且数据已编码,这使得直接编辑表内容的任务相当困难,具体取决于更改。这使得这个答案无效,因为发布者正在寻找一个简单的、基于Java的解决方案 :/
对于这个问题,最好的选择是新发布的appengine-mapreduce库,它有Java和Python版本。
但是,在将String转换为Text的情况下,没有必要手动更新旧实体 - 当它们由您的应用程序下次写入时,它们将被修复,并在此期间仍然正常工作。