Postgres错误运行seeds.exs(使用Ecto) - `string_data_right_truncation`

时间:2016-09-21 11:19:23

标签: postgresql phoenix-framework ecto

在这里输入代码我在使用MIX运行我的seeds.exs文件时出现Postgrex错误:** (Postgrex.Error) ERROR (string_data_right_truncation): value too long for type character varying(255)

我google了它,解决方案似乎是使用Postgresql类型的文本而不是字符串。但我认为Ecto没有这种类型。 那么,真正的问题是什么?

控制台中的错误调试消息是:

[debug] QUERY ERROR db=7.9ms
INSERT INTO "eventos" ("date","imgPath","text","title","inserted_at","updated_at") VALUES ($1,$2,$3,$4,$5,$6) RETURNING "id" ["12 MAR 2016", "images/specific/eventos/sixtyfour/1.jpg", "Aberta há mais de um ano, a Royal City Studios fez a sua primeira aparição pública com um concerto dos vimaranenses The Wild Booze este \n\tSábado passado, dia 12 de Março.</br>A Royal City Studios é um estúdio com 300 metros quadrados de área total que promete albergar projectos \n\tmusicais dos mais variados géneros. Equipado de uma régie recheada de bom material, sala de ensaios, 'quarto seco' e ainda de um enorme estúdio \n\tde música com capacidade para albergar uma orquestra.</br>Localizado na Fábrica ASA, este estúdio tem ideias de realizar live sessions (à lá \n\tBlogoteque ou KEXP) com banda a ser filmada num ambiente natural e intimista.", "OPEN DAY ROYAL CITY STUDIOS", {{2016, 9, 21}, {11, 7, 19, 0}}, {{2016, 9, 21}, {11, 7, 19, 0}}]

1 个答案:

答案 0 :(得分:2)

您可以使用不受长度限制的:text类型。

以下是Ecto.Migration.add/3

文档中的相关部分
  

但是,列类型并不总是与架构中使用的类型相同。例如,具有:字符串字段的模式可以由以下类型的列支持:char,:varchar,:text等。因此,此函数还接受:text和其他列,它们按原样发送到底层数据库。

     

...

     

选项

     
      
  • :size - 类型的大小(例如字符数)。默认值为无大小,但以下情况除外:默认为255的字符串。
  •