ERROR 22001(string_data_right_truncation):值太长类型字符改变(255)数据类型 - “值过长类型字符改变(255)”
我了解(并假设)的字符串会限制在一定数量的字符;不过,我不确定哪种类型最适合这种情况。
我应该在Phoenix框架中的博客的“内容”部分使用什么类型?
数据将是文本的段落,不能限制大小。
在此先感谢。
ERROR 22001(string_data_right_truncation):值太长类型字符改变(255)数据类型 - “值过长类型字符改变(255)”
我了解(并假设)的字符串会限制在一定数量的字符;不过,我不确定哪种类型最适合这种情况。
我应该在Phoenix框架中的博客的“内容”部分使用什么类型?
数据将是文本的段落,不能限制大小。
在此先感谢。
您收到的错误来自底层数据库,其中列类型设置为varchar
这是在迁移中将列类型指定为string
时默认创建的内容。
要在255个字符以上存储可变长度的字符串,您需要在迁移中指定列类型为text
。您可以使用迁移,如现有列的类型转换为text
:
alter table(:posts) do
modify :content, :text
end
模型的架构部分中的字段类型应保持为string
:
schema "posts" do
field :content, :string
end
这是一个有趣的解决方案;没有意识到':text'类型在迁移中可用。 –
Yeps!这里有一点:https://hexdocs.pm/ecto/Ecto.Migration.html#module-field-types –