#elixir #phoenix-framework #ecto
#elixir #phoenix-framework #ecto
Вопрос:
Я определил в своей модели один файл типа Ecto {:array, :string}. Он нормально работает в разработке, но я получаю эту ошибку при попытке запустить seeds.exs только в рабочей среде:
Ecto.ChangeError value ["images/specific/eventos/sixtyfive/1.jpg", "images/specific/eventos/sixtyfive/2.jpg", "images/specific/eventos/sixtyfive/3.jpg", "images/specific/eventos/sixtyfive/4.jpg", "images/specific/eventos/sixtyfive/5.jpg"] for `FabASA.Evento.imgPath` in `insert` does not match type :string
Нужно ли мне изменять тип в моих миграциях?
Комментарии:
1. Этот тип в вашей миграции отсутствует
{:array, :string}
?2. Похоже, что в вашей производственной базе данных поле является просто строкой… Вы проверяли это вручную с помощью
psql
или чего-то подобного?3. @Dogbert. ДА. Как в моей модели, так и в миграции. Однажды у меня возникла проблема, и мне пришлось изменить тип миграции для собственного типа PostgreSQL (не типа Ecto). Итак, я пытаюсь выяснить, есть ли у кого-нибудь опыт работы с этим конкретным типом Ecto — типом PostgreSQL.
4. @fahrradflucht. Какая команда psql для просмотра этого при подключении к БД?
5.
d tablename
должно быть прочитаноcharacter varying(255)[]
в поле. Скорее всего, этоd evento
.