Google AppEngine字符串到文本

时间:2012-12-04 23:49:13

标签: java google-app-engine

我有一个实体字段,它已经作为String保存在数据存储区中。 appengine中的字符串限制最多500个字符。

如何将其更改为文本并使所有旧值仍然可用?

4 个答案:

答案 0 :(得分:3)

我推荐以下方法,特别是如果代码正在生产中:

  • 在您的实体中引入新的文本字段。
  • 编写一个简单的迁移代码来遍历每个实体,然后从String属性中读取现有值并将其放入新的Text属性中。
  • 修改当前代码以便从新的Text属性中进行写入和读取。

上述方法将帮助您逐步做事,并且在出现问题的最坏情况下,至少您拥有旧属性和旧值。

答案 1 :(得分:0)

您必须使用db.TextProperty,但不能索引此属性。

使用它:

class Example(db.Model):
    ....
    content = db.TextProperty()



content_text = db.Text(example.content) 

or

example.content = db.Text(content_text)

答案 2 :(得分:0)

对于像这样的任务,我使用了一个带有动作参数的servlet来执行数据库操作。在您的情况下,更新实体类,遍历实体并相应地设置您的值。

答案 3 :(得分:0)

只需将字段作为文本获取。它会工作。无需将现有值迁移到新字段和所有字段!