我正在尝试将我的数据 id postgresql 从字符串迁移到 django 中的整数,以便在 sphinx 搜索中使用它们。所以首先我正在进行数据迁移,将我的数据转换为字符串中的整数,如下所示
db.execute('''UPDATE the_table SET foo='1' WHERE foo='bar';''')
然后我正在进行架构迁移
ALTER TABLE the_table ALTER COLUMN col_name TYPE integer USING (col_name::integer);
就像有人告诉的那样here
但我收到错误
错误:运算符类“varchar_pattern_ops”不接受数据类型整数
SQL-состояние:42804
South 和 pgAdmin 中都会出现此错误。数据正确 - 为 Null 或字符串类型的整数。我究竟做错了什么?
处理这个问题你必须使用两步迁移。
First: Add db_index=False
在您的第一次迁移中,然后生成并运行迁移。
Second: Update db_index=True
到模型中的相关列(根据第一步),然后生成迁移并再次运行。
这是基于我在一些项目上的经验,并且是有效的。
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)