2015-07-23 2 views
0

Я бегом сервера с Nginx, Capistrano, RailsRake дб: Перенести с Nginx Capistrano

Я сделал несколько децибел: Миграции на моей локальной машине, а затем хотят, чтобы подтолкнуть их к этим изменениям на мой сервер. Однако я не могу понять, как перенести мою базу данных на сервер. Как мне это сделать?

Я Пытался

1)

cap production deploy 
cap production deploy:migrate 

2)

[On server - in current] 
rake db:migrate 

, но ни один из них не похоже на работу. Как это сделать?

Capistrano Файл

lock '3.4.0' 
require 'capistrano/sidekiq' 
set :whenever_command, "bundle exec whenever" 
require "whenever/capistrano" 
set :application, 'myApp' 
set :repo_url, 'git...' 
set :keep_releases, 5 
set :scm, :git 
set :repository, "git..." 
set :scm_passphrase, "..." 
set :user, "..." 
set :use_sudo, false 
set :deploy_to, "/.../.../apps/appName" 
namespace :deploy do 
    after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 
    end 
    end 
end 

ответ

1

1) Если вы используете Капистрано поручни вы должны установить

set :migration_role, 'migrator'   # Defaults to 'db' 

2) На сервере вы делаете миграцию в среде разработки, попробуйте

RAILS_ENV=production bundle exec rails db:migrate

0

Чтобы выполнить миграцию с capistrano, в файле production.rb, который находится внутри /config/deploy, вы добавили роль «db» , например.

roles: %w{web app db}

также Capistrano миграции задач работает, если есть разница между current_path и release_path миграциями. что вы можете сделать, это удалить миграции изнутри current_path, а затем развернуть и затем выполнить миграцию.

Смежные вопросы