雷神任务托尔脚本红宝石

时间:2011-01-05 15:54:21

标签: ruby-on-rails rake thor

我正在构建安装程序。 有了它,我想以某种方式迁移数据库。 我正在使用Thor在Rails 3中安装我的安装程序。

类似(在命令行中)

rake db:create
rake db:migrate

谢谢。

1 个答案:

答案 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