【问题标题】:Capistrano with a nested rails directoryCapistrano 带有嵌套的 rails 目录
【发布时间】:2012-11-20 01:56:06
【问题描述】:

我的 Ruby on Rails 应用程序不是我的 git 存储库的根文件。我可以设置一个变量,以便 Capistrano 在我要求它运行迁移时知道要运行 rake 的目录吗?

【问题讨论】:

    标签: ruby-on-rails-3 git capistrano


    【解决方案1】:

    我会像这样覆盖deploy:migrate 配方来做到这一点:

    namespace :deploy do
       task :migrate do
         run "cd /path/to/rails/root; rake RAILS_ENV=#{rails_env} #{migrate_env} db:migrate"
       end
    end
    

    【讨论】:

    • 我在尝试此操作后收到“找不到 rakefile”错误。插入“密码”;在更改目录指令并收到用户 capistrano 登录的主路径之后...
    • 另外,什么是“migrate_env”变量?
    • 找到了基于 capistrano wiki (github.com/capistrano/capistrano/wiki/Capistrano-Tasks) 的示例,当您希望在运行迁移时使用不同于 RAILS_ENV 的东西时使用的 AFAIK migrate_env。
    • 如果 rake 默认找不到你的 rakefile,你可以使用 rake -f /path/to/rakefile
    • 注意:我必须为应用程序创建一个特定的 gemset。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多