在我的博客项目中,我使用paperclip来管理图片。现在我想切换到carrierwave,并希望让我的项目好像回形针从未出现过。
首先,这是项目的样子: 每个博文都有很多图片,每张图片都有一张图片。 所以我为画廊生成了一个模型
rails g model pictures
这会创建迁移create_pictures.rb
和picture
模型。
然后我将图像属性添加到图片模型
rails g paperclip picture image
这创建了迁移AddAttachementImageToPictures.rb
然后我创建了迁移AddPostIdToPictures
现在我想进行迁移,摆脱所有这些东西。 3次迁移中有2次是关于向pictures
表添加属性。所以我想知道我是否可以删除pictures
表和picture
模型?
rails g migration RemovePictures
rails d model Picture
或者我是否需要首先删除属性,然后删除整个表?
答案 0 :(得分:3)
是的,你做对了。您应该删除pictures
表,然后删除Picture
模型。
如果您不需要该表,则不需要单独删除每个列。或者,如果您计划为carrierwave使用相同的模型,那么您可以删除paperclip的属性并为carrierwave创建新的属性。
此link将帮助您进行迁移更改。
答案 1 :(得分:2)
是的,您可以删除提到的两行,这应该足够了。
如果您已经上传了一些图片,并希望只更改gem而拥有相同的模型。看看Migrate from paperclip to carrierwave
您还可以阅读Carrierwave migration
答案 2 :(得分:0)
为了回滚到特定版本使用:
rake db:migrate:down VERSION=20100905201547