Postgres Update столбец с Enum из строки - PullRequest
0 голосов
/ 14 мая 2018

Я строю миграцию. Изменил столбец со строки на Enum-Type и хочу вставить сохраненные значения как Enum в таблицу, но не знаю, как это сделать. Я вставил свои значения в новую таблицу, удалил столбец, создал его с типом enum и получил только строки в новой таблице. Строка имеет тот же текст, что и перечисление. Код:

UPDATE event_participations
    SET kind = participations_migration.kind
    FROM participations_migration
    WHERE participations_migration.part_id = event_participations.id

Participations_type - это имя перечисления со значениями типа «идущий», «не идущий». Теперь у меня есть строки в Participations_migration.kind и я хочу получить значение enum для обновления event_participations.kind.

Мне нужен дополнительный выбор или объединение, чтобы обновить event_participations со значением enum в соответствии со строкой, установленной в Participations_migration.kind. Есть идеи?

1 Ответ

0 голосов
/ 15 мая 2018

Если текст идентичен тексту члена перечисления, достаточно привести приведение к типу перечисления.

    SET kind = participations_migration.kind::participations_type
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...