Postgresql Postgres使用字符串中的枚举更新列

Postgresql Postgres使用字符串中的枚举更新列,postgresql,enums,migration,Postgresql,Enums,Migration,我正在建立一个迁移。将列从字符串更改为枚举类型,并希望将保存的值作为枚举插入表中,但不知道如何执行此操作。我将我的值插入到一个新表中,删除列,用枚举类型创建它,只得到新表中的字符串。字符串与枚举具有相同的文本。 代码是: UPDATE event_participations SET kind = participations_migration.kind FROM participations_migration WHERE participations_migrati

我正在建立一个迁移。将列从字符串更改为枚举类型,并希望将保存的值作为枚举插入表中,但不知道如何执行此操作。我将我的值插入到一个新表中,删除列,用枚举类型创建它,只得到新表中的字符串。字符串与枚举具有相同的文本。 代码是:

UPDATE event_participations
    SET kind = participations_migration.kind
    FROM participations_migration
    WHERE participations_migration.part_id = event_participations.id
Participations_type是枚举的名称,其值为“Gong”、“not_Gong”。现在,我在participations_migration.kind中有字符串,希望获取枚举值以更新事件_participations.kind

我需要一个子选择或联接来根据participations_migration.kind中设置的字符串使用枚举值更新事件_participations。
有什么想法吗?

如果文本与枚举成员文本相同,则对枚举类型进行强制转换就足够了

    SET kind = participations_migration.kind::participations_type
我的英雄:)我在一个exto.Migration中使用这段代码,所以没有调试选项。但是你的代码成功了:)非常感谢:)