我一直在努力让Paperclip宝石工作。我最初遇到的问题是图片上传但没有显示。然后,我通过执行rake db:rollback来尝试修复错误,从而弄乱了数据库。现在我因为这个错误而无法再次迁移db:
SQLite3::SQLException: duplicate column name: image_file_name: ALTER TABLE "posts" ADD "image_file_name" varchar
我亲自进入了迁移文件夹并删除了该文件,尝试再次生成迁移。我一直在尝试使用rails生成paperclip post image,它确实创建了一个迁移文件,但我无法进行db:migrate。
有什么建议吗?
谢谢!
答案 0 :(得分:0)
删除迁移文件并不能真正回滚它在数据库中所做的更改。你最好的选择是:
rake db:migrate
,我们说我将此作为我的迁移文件
class AddEmailSentToNeeds < ActiveRecord::Migration
def change
add_column :needs, :email_sent, :boolean ,default: false
end
end
只需注释掉该方法但离开该类,所以它将是:
class AddEmailSentToNeeds < ActiveRecord::Migration
# def change
# add_column :needs, :email_sent, :boolean ,default: false
# end
end
这只是告诉rails跳过此迁移的一种hacky方式。 OR
rake db:drop
,rake db:create
和rake db:migrate