我正在构建迁移。将列从字符串更改为Enum-Type,并希望将保存的值作为Enum插入到表中,但不知道如何执行此操作。我将我的值插入到一个新表中,droped colum,使用枚举类型创建它,并且只获得新表中的字符串。该字符串与enum具有相同的文本。 代码是:
UPDATE event_participations
SET kind = participations_migration.kind
FROM participations_migration
WHERE participations_migration.part_id = event_participations.id
Participations_type是枚举的名称,其值为“going”,“not_going”。现在我在participations_migration.kind中有字符串,并希望获取枚举值来更新event_participations.kind。
我需要一个subselect或join来根据在participations_migration.kind中设置的字符串更新带有枚举值的event_participations。 有什么想法吗?
答案 0 :(得分:2)
如果文本与枚举成员文本相同,则枚举类型的强制转换就足够了。
SET kind = participations_migration.kind::participations_type