我创建了一个新的迁移,以便将新的Paperclip附件添加到已拥有Paperclip附件的当前模型中。
虽然出错但将数据类型定义为attachment
而不是add_attachment
:
class AddDetailsToProfilepics < ActiveRecord::Migration[5.0]
def change
add_column :profilepics, :finalimage, :attachment
end
end
然后我注意到paperclip(* _file_name * _content_type)没有创建额外的列,并意识到我犯了一个错误。
虽然现在没有回滚是可能的,因为它会触发错误。我创建了一个新的迁移(用错误的数据类型删除此列)并得到了类似的错误:
undefined method 'to_sym' for nil:NilClass
查看shema.rb时,未输入数据类型:
...
t.integer "y"
t.integer "width"
t.integer "height"
t. "finalimage"
t.index ["professionnel_id"], name: "index_profilepics_on_professionnel_id"
我尝试将其更改为字符串并重新运行新的&#34; remove_column&#34;迁移,但同样的错误。
答案 0 :(得分:0)
好的,我找到了解决方案。杀死development.sqlite3
和schema.rb
。删除上次迁移中对错误列的引用。做一个rails db:migrate
一切都将重建。
虽然数据库是空的