在heroku上的PostgreSQL数据库中存储超过255个字符
我正在使用heroku,并且这样做,我正在经历我的第一次进入postgresql。 也许我在开发过程中从未遇到它,但我无法将条目保存到我的数据库中超过255个字符。 有没有解决的办法? 目前我只是使用字符串来存储消息数据。
其次,如果确实有一种存储超过255个字符的方法,是否有一种很好的方法可以使用迁移将我的消息字符串转换为此forms? 我的应用程序目前正在使用中。
谢谢!
在迁移类型上使用text
而不是string
。
要更改迁移
-
script/generate migration change_string_to_text
-
change_column :model, :attribute, :text
-
rake db:migrate
只是为了扩展@ Codeglot的答案, :text
是(基本上)无限长度的字符串。 :string
具有限制的字符串limit:1234
选项将字符串限制为该长度。 在Postgres上,a :string, limit:nil
实际上是:text
同义词。 虽然一些数据库以不同的方式存储VARCHAR,VARCHAR(n)和TEXT类型,导致性能方面的考虑,但Postgres以相同的方式存储它们。
因此,如果您想要超过255个字符但不是完全无限制,则可以使用:string, limit:1234
。 或者,您可以使用:text
并通过validation来限制长度。