我正在构建安装程序。 有了它,我想以某种方式迁移数据库。 我正在使用Thor在Rails 3中安装我的安装程序。
类似(在命令行中)
rake db:create
rake db:migrate
谢谢。
答案 0 :(得分:2)
rails生成器api实际上提供了rake方法,并且非常易于使用。例如,您的生成器文件可能如下所示:
class RakeTestGenerator < Rails::Generators::Base
source_root File.expand_path('../templates', __FILE__)
def rake_db
rake("db:migrate")
end
end
然后,您可以通过运行以下命令在rails应用中执行此操作。
rails g rake_test
这相当于在命令行中运行“rake db:migrate”。请注意,在运行命令时,将执行rails生成器中的所有公开定义的方法。
其他信息: rake方法由Rails :: Generators :: Actions模块提供,可由Rails :: Generators :: Base类使用。有关详细信息,请参阅Official Documentation。