Elixir EXTO中的数据类型-“;值太长,无法更改类型字符(255)";

Elixir EXTO中的数据类型-“;值太长,无法更改类型字符(255)";,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,错误22001(字符串\u数据\u右\u截断):值对于类型太长 字符变化(255) 我理解(并假设)字符串将被限制为一定数量的字符;但是,我不确定哪种类型最适合这种情况 在Phoenix框架中,博客的“内容”部分应该使用什么类型 数据将是文本段落,不能限制大小 提前感谢。您得到的错误来自底层数据库,其中列类型设置为varchar,这是在迁移中将列类型指定为string时默认创建的 要存储超过255个字符的可变长度字符串,需要在迁移中将列类型指定为text。您可以使用迁移将现有列的类型转换为文本,

错误22001(字符串\u数据\u右\u截断):值对于类型太长 字符变化(255)

我理解(并假设)字符串将被限制为一定数量的字符;但是,我不确定哪种类型最适合这种情况

在Phoenix框架中,博客的“内容”部分应该使用什么类型

数据将是文本段落,不能限制大小


提前感谢。

您得到的错误来自底层数据库,其中列类型设置为
varchar
,这是在迁移中将列类型指定为
string
时默认创建的

要存储超过255个字符的可变长度字符串,需要在迁移中将列类型指定为
text
。您可以使用迁移将现有列的类型转换为
文本
,例如:

alter table(:posts) do
  modify :content, :text
end
模型架构部分中的字段类型应保持为
string

schema "posts" do
  field :content, :string
end

这是一个有趣的解决方案;没有意识到
:text
类型在迁移中可用。是的!这里有一点关于它: