ERROR 22001 (string_data_right_truncation): value too long for type character varying(255)
我理解(并假设)字符串将被限制为一定数量的字符;但是,我不确定哪种类型最适合这种情况。
我应该在 Phoenix 框架中使用什么类型的博客“内容”部分?
数据将是文本段落,并且大小不受限制。
提前致谢。
最佳答案
您收到的错误来自底层数据库,其中列类型设置为 varchar
,这是当您在 a 中将列类型指定为 string
时默认创建的内容迁移。
要存储超过 255 个字符的可变长度字符串,您需要在迁移中将列类型指定为 text
。您可以使用以下迁移将现有列的类型转换为 text
:
alter table(:posts) do
modify :content, :text
end
模型架构部分中的字段类型应保留为字符串
:
schema "posts" do
field :content, :string
end
关于elixir - Ecto 中的数据类型 - "value too long for type character varying(255)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42823377/