Я пытаюсь развернуть приложение rails с помощью capistrano, но у меня возникают проблемы с выполнением миграций.В моей среде разработки я просто использую sqlite в качестве базы данных, но на своем производственном сервере я использую MySQL.
Проблема в том, что я хочу, чтобы миграция запускалась с моего сервера, а не с локального компьютера, поскольку я неВозможность подключения к моей базе данных из удаленного местоположения.
Настройка моего сервера: Debian Box с запущенным ngnix, passenger, mysql и git-репозиторием.
Какой самый простой способ сделать это?
обновление:
Вот мой сценарий развертывания: (я заменил свой фактический домен на example.com)
set :application, "example.com"
set :domain, "example.com"
set :scm, :git
set :repository, "git@example.com:project.git"
set :use_sudo, false
set :deploy_to, "/var/www/example.com"
role :web, domain
role :app, domain
role :db, "localhost", :primary => true
after "deploy", "deploy:migrate"
Когда я запускаю cap deploy, все работает нормально, пока не попытается запустить миграцию.Вот ошибка, которую я получаю:
** [deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: localhost (Errno::ECONNREFUSED: Connection refused - connect(2))
connection failed for: localhost (Errno::ECONNREFUSED: Connection refused - connect(2)))
Вот почему мне нужно запускать миграцию с сервера, а не с локального компьютера.
Есть идеи?