Как работать с ENUM в PostgreSQL из Go?

Middle
147 просмотров
AFK Offer AI

В PostgreSQL создаёшь через CREATE TYPE status AS ENUM ('active', 'inactive'). В Go обычно определяешь string константы или свой тип: type Status string с константами. При сканировании pgx автоматически маппит в string. При записи — передаёшь строку. Для валидации делаешь метод IsValid() на своём типе. Миграции с ALTER TYPE ADD VALUE для добавления значений.

Следующий вопрос

Что выведет: type Point struct { X, Y int }; p := Point{1, 2}; fmt.Println(p == Point{1, 2})?