• 修改Capfile,在正式环境不再使用migration修改数据库


    原因是这样的,运维不开放正式环境数据库的alter权限,所以每次都要给他们把sql语句发过去,

    由他们来操作。

    https://github.com/capistrano/rails

    Require everything (bundler, rails/assets and rails/migrations):
    
    # Capfile
    require 'capistrano/rails'
    Or require just what you need manually:
    
    # Capfile
    require 'capistrano/bundler' # Rails needs Bundler, right?
    require 'capistrano/rails/assets'
    require 'capistrano/rails/migrations'

    参考的是https://github.com/capistrano/rvm/issues/49

    Using the task pattern described before, capistrano/rvm gets required after capistrano/bundler. This makes capistrano use the command bundle exec ruby --version. This command would fail on the server when it is run inside a directory without a Gemfile.
    
    There are two ways to make this work:
    
    1) Avoid using bundle exec for all ruby commands:
    
    Capfile
    
    task :require_rvm do
      require 'capistrano/rvm'
    end
    task 'staging' => [:require_rvm]
    
    require 'capistrano/bundler'
    config/deploy/staging.rb
    
    set :bundle_bins, %w(gem rake rails)
    2) Require bundler the same way we require rvm:
    
    Capfile
    
    task :require_rvm do
      require 'capistrano/rvm'end
    
    task :require_bundler do
      require 'capistrano/bundler'
    end
    
    task 'staging' => [:require_rvm, :require_bundler]
    task 'production' => [:require_bundler]

    以下是最终修改后的Capfile

    task :require_rails do
      require 'capistrano/rails'
    end
    # require 'capistrano/rvm'
    require 'capistrano/rbenv'
    # require 'capistrano/chruby'
    task :require_rails_without_migrations do
      require 'capistrano/bundler'
      require 'capistrano/rails/assets'
    end
    # require 'capistrano/rails/migrations'
    # require 'capistrano/passenger'
    
    task :staging => [:require_rails]
    task :production => [:require_rails_without_migrations]
  • 相关阅读:
    脚本执行策略设置
    获取日期与时间戳小笔记
    Intellij IDEA部分简介
    Intellij IDEA脚本参数化、关联、检查点
    LR中的时间戳
    LeetCode 35.Search Insert Position
    LeetCode 34.Search for a Range
    LeetCode 33.Search in Rotated Sorted Array(M)
    LeetCode 81.Search in Rotated Sorted Array II(M)
    LeetCode 278.First Bad Version(E)(P)
  • 原文地址:https://www.cnblogs.com/iwangzheng/p/5333171.html
Copyright © 2020-2023  润新知