Como faço para codificar uma tarefa de rake que executa a tarefa Rails DB: Migre?

StackOverflow https://stackoverflow.com/questions/611189

  •  03-07-2019
  •  | 
  •  

Pergunta

Gostaria de executar o DB: Migrar Version = 0 e, em seguida, db: migrar para dentro da minha própria tarefa de rake. Estou confuso sobre como fazer isso. Eu preciso de uma declaração especial necessária? Minha tarefa de ancinho residirá no diretório Lib/Tasks de um aplicativo Rails. Obrigado.

Foi útil?

Solução

Sua tarefa depende de ter um banco de dados limpo? Se for esse o caso, você pode fazer:

Tarefa: my_task => [: ambiente, 'db: reset'

Outras dicas

Editar: Rake :: Task [] não aceita parâmetros, você deve defini -lo no env. Além disso, você deve reativar a tarefa para executá -la várias vezes.

ENV['VERSION']= '0'
Rake::Task['db:migrate'].invoke
Rake::Task['db:migrate'].reenable
ENV.delete 'VERSION'
Rake::Task["db:migrate"].invoke

NOTA: RAKE :: Task.releable requer Rake 0.8.2 ou superior.

Verificação de saída rake db:reset Como isso, realizará o que você está tentando fazer.

Para ver o que todas as suas tarefas de ancinho fazem, execute rake -T

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top