从生产数据库如何将 int 字段更改为 char

From the production database how to change int field to char

我需要从生产数据库中将一个字段从 int 更改为 char。

当我在本地尝试时,我丢失了存储在字段中的所有数据。

解决方法是什么?

当您更改字段类型 field_name 时,Odoo 将原来的 field 重命名为 field_name_moved0 并创建一个名称为 field_name 的新字段,如果您有权访问您可以通过简单的查询轻松设置数据库的值:

-- just make sure you cast the value of field_name_moved0 to varchar
update your_table_name set field_name = field_name_moved0::varchar where field_name_moved0 is not null;

注意:如果再次更改字段类型,名称将是field_name_moved1