0

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

所以像(在命令行中)

rake db:create
rake db:migrate

谢谢你。

4

1 回答 1

2

rails generator 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 类可用。有关更多信息,请参阅官方文档

于 2011-03-08T17:59:51.807 回答