我有一个ruby on rails项目,它允许我提交评论(称为注释)。它在我的计算机上似乎可以正常工作,并且我正在使用sql或其他随Rails提供的东西。
在将应用程序放在heroku上之后,一切运行良好,但现在我的笔记(255个字符以上)会返回错误。
我很确定它与数据库有关,因为在localhost:3000上,我可以保存数百行文本。
但是,我对数据库一无所知-有人会因为这个错误向我指出正确的方向吗?错误是:
PG :: StringDataRightTruncation:错误:值太长而无法更改类型字符(255)
这是笔记的迁移,它的定义是字符串,而不是字符:
class CreateNotes < ActiveRecord::Migration
def change
create_table :notes do |t|
t.string :title
t.string :comment
t.integer :user_id
t.integer :record_id
t.timestamps
end
end
end
您应该对包含超过255个字符的属性使用:text字段类型。
class CreateNotes < ActiveRecord::Migration
def change
create_table :notes do |t|
t.text :title
t.text :comment
t.integer :user_id
t.integer :record_id
t.timestamps
end
end
仅当您能够通过执行以下操作来重新创建数据库时,此方法才有效
rake db:drop
rake db:create
rake db:migrate
如果您无法重置数据库,则必须使用
def change
change_column :notes, :title, :text
change_column :notes, :comment, :text
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句