如何做rake db:migrate:使用capistrano重置

时间:2016-05-15 11:41:52

标签: ruby-on-rails ruby capistrano3

我正在使用capistrano将我的rails应用程序部署到digitalocean服务器。我遇到了需要运行rake db:migrate:resetrake db:reset的情况。我已经在开发中完成了它并且它有效。但我可以在制作中使用capistrano吗?

这是我的deploy.rb

# config valid only for current version of Capistrano
lock '3.5.0'

set :application, 'appname'
set :repo_url, 'myrepo.git'

# Default branch is :master
# ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp

# Default deploy_to directory is /var/www/my_app_name
set :deploy_to, '/home/deploy/myapp'

set :linked_files, %w{config/application.yml}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

# Default value for :scm is :git
# set :scm, :git

# Default value for :format is :airbrussh.
# set :format, :airbrussh

# You can configure the Airbrussh format using :format_options.
# These are the defaults.
# set :format_options, command_output: true, log_file: 'log/capistrano.log', color: :auto, truncate: :auto

# Default value for :pty is false
# set :pty, true

# Default value for :linked_files is []
# set :linked_files, fetch(:linked_files, []).push('config/database.yml', 'config/secrets.yml')

# Default value for linked_dirs is []
# set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'public/system')

# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }

# Default value for keep_releases is 5
# set :keep_releases, 5

namespace :deploy do

  after :restart, :clear_cache do
    on roles(:web), in: :groups, limit: 3, wait: 10 do
      # Here we can do anything such as:
      # within release_path do
      #   execute :rake, 'cache:clear'
      # end
    end
  end

end

1 个答案:

答案 0 :(得分:1)

您可以在项目中安装this gem以添加capistrano配方来处理数据库命令

然后,您只需要运行RewriteCond %{HTTPS} !on [OR] RewriteCond %{HTTP_HOST} !^www\. RewriteRule (.*) https://www.example.com%{REQUEST_URI} [L,R=301]