我有一个实体字段,它已经作为字符串保存在数据存储中。appengine 中的字符串限制为最多 500 个字符。
如何将其更改为 Text 并使所有旧值仍然可用?
我有一个实体字段,它已经作为字符串保存在数据存储中。appengine 中的字符串限制为最多 500 个字符。
如何将其更改为 Text 并使所有旧值仍然可用?
我推荐以下方法,尤其是在代码处于生产状态时:
上述方法将帮助您逐步明智地做事,并且在出现问题的最坏情况下,至少您拥有旧属性和旧值。
对于这样的任务,我使用了一个带有 action 参数的 servlet 来执行数据库操作。在您的情况下,更新实体类,遍历实体并相应地设置您的值。
您必须使用 db.TextProperty,但不能索引此属性。
要使用它:
class Example(db.Model):
....
content = db.TextProperty()
content_text = db.Text(example.content)
or
example.content = db.Text(content_text)
只需将该字段作为文本获取。它会起作用的。无需将现有值迁移到新字段!