对于我的rails项目,我想写一个ruby gem,它有一个ActiveRecord模型,例如。 Animal < ActiveRecord::Base
。是否可以将迁移cretae_animals添加到gem中,以便在我的应用程序中安装gem时运行rake db:migrate
迁移将执行?
答案 0 :(得分:1)
您可以通过将您的gem包含在迁移中,以及包含运行它们的rake任务来完成此操作。然后按如下方式调用rake任务:
myGem = Gem::Specification.find_by_name 'gem-name'
load "#{myGem.gem_dir}/lib/tasks/my_migration.rake"
(正确归功于安迪·阿特金森,我originally learned this参与类似的项目。)