我有一个ruby on rails项目,允许我提交评论(称为注释)。它似乎在我的计算机上正常工作,我正在使用sql或其他任何有铁轨的库存。
我将应用程序放在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
答案 0 :(得分:1)
您应该使用:文本字段类型,用于包含超过255个字符的属性。
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