首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能将类型字符varying[]转换为jsonb django迁移

不能将类型字符varying[]转换为jsonb django迁移
EN

Stack Overflow用户
提问于 2019-05-22 06:15:38
回答 1查看 1.3K关注 0票数 0

我已经将我的模型从arrayfield更改为json字段,现在我收到了错误。

不能将类型字符varying[]转换为jsonb第1行:...LUMN使用“质询器”::jsonb键入jsonb。

怎么解决这个问题?它是怎么发生的?

从…

代码语言:javascript
复制
questionaires   = ArrayField(models.CharField(max_length=4000), null=True, blank=True)

代码语言:javascript
复制
questionaires   = JSONField(null = True,blank = True)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-20 22:23:13

我认为你必须执行多阶段迁移:

  1. 创建具有JSONField: Ex questionaires_2类型的临时新字段
  2. 编写自定义python迁移RunPython以手动转换数据
  3. 删除旧字段:问题解答
  4. 将临时字段重命名为旧的one questionaires_2 ->问询器

更多进展:请参阅此https://stackoverflow.com/a/21997589/533738

没有测试!

代码语言:javascript
复制
ALTER TABLE <Your Table>
ALTER COLUMN questionaires TYPE JSONB
      USING translate(questionaires::text, '{}','[]')::JSONB;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56250393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档