Я хотел бы создать «набор» типов гормов, используемых в моем приложении. Поэтому я хотел бы определить map
с моими типами gorm.DB
в качестве ключей и пустой structs{}
в качестве флагов:
var (
autoMigrations map[gorm.DB]struct{}
)
Но компилятор не позволяет мне сделать это с ошибкой: invalid map key type gorm.DB
. Я могу обмануть его, используя указатели на gorm.DB
, например:
map[*gorm.DB]struct{}
Но это не решение, потому что мне нужно сделать его уникальным, и если моя карта будет заполнена как db.AutoMigrate(&Chat{})
, я могу получить много похожих объектов с разными адресами.
Другое решение — сделать срез gorm.DB
:
autoMigrations []gorm.DB
Но мне приходится фильтровать элементы при добавлении вручную, что немного безумно.