2016-03-11 3 views
3

Я получаю ошибкуНеопределенный метод в файле граблей

NoMethodError: undefined method `symfony_console' 

в моей задаче, определенной в файле граблей (Библиотека/Capistrano/задачи/my_tasks.rake)

task :migrate do 
    on roles(:all) do 
    symfony_console('doctrine:migrations:migrate', '--no-interaction') 
    end 
end 

symfony_console метод предоставленной capistrano/symfony расширение. Capfile:

require 'capistrano/setup' 
require 'capistrano/deploy' 
require 'capistrano/composer' 
require 'capistrano/symfony' 

Что я делаю неправильно?

Обновлено: Проблема может быть связана с ролями?

ответ

1

Проблема была из-за старых версий Capistrano/Symfony

+0

Не могли бы вы объяснить, как вы обновили 'capistrano/symfony'? –

2

Если вы указали весь Capfile, вам не хватает capistrano/symfony.

Изменить это следующим образом:

require 'capistrano/setup' 
require 'capistrano/deploy' 
require 'capistrano/composer' 
require 'capistrano/symfony' 

Убедитесь, что вы правильно установили камни capistrano и capistrano-symfony, в противном случае следует this step.

Я никогда не использовал эту функцию (symfony_console(...)), но она должна работать.

EDIT

Вы должны написать свою задачу в вашем deploy.rb.

EDIT2

Если вы еще не, попытайтесь установить пространство имен для вашей задачи, как это:

namespace :deploy do 
    before 'updated', 'schemadb' 
    task :migrate do 
    on roles(:all) do 
     symfony_console('doctrine:migrations:migrate', '--no-interaction') 
    end 
    end 
end 

Если это не сработает, попробуйте изменить тело задачи к :

on roles(:all) do 
    invoke 'symfony:console', 'doctrine:migrations:migrate', '--no-interaction' 
end 

Это то, что я использую.

+0

К сожалению, я обновить мой ответ –

+0

ли вы пытались переместить задачу из вашего 'my_tasks.rake' непосредственно в' deploy.rb'? – chalasr

+0

Пока нет. Кроме того, текущая конфигурация работает локально и не выполняется при развертывании сервера. Теперь я думаю о ролях, вы можете прокомментировать это? Спасибо. –

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