executando console Rails em produção

105

Acabei de colocar meu primeiro site Rails no ar, mas agora estou com um problema. Quando executo o projeto em modo de desenvolvimento no meu IDE, posso executar o console para algo como:

User.first.name='whatever' para alterar o nome de um usuário.

Como realizo a mesma tarefa em um site ativo no modo de produção?

nFinIt_loop
fonte

Respostas:

182

se você estiver executando o Rails 3.0 ou superior, você também pode usar

rails console production

a produção pode, é claro, ser substituída por developmentou test(o valor é developmentpor padrão)

Adicionar a opção --sandboxfaz com que todas as alterações feitas em seu banco de dados no console sejam revertidas após você sair

Se isso não estiver funcionando para você, pode ser necessário tentar

bundle exec rails console production

Se você está realmente tentando executar o console rails em seu servidor de produção, tente pesquisar no Google "run rails console [seu provedor de hospedagem em nuvem]", por exemplo, "run rails console heroku"

A partir do Rails 6, você precisa usar

RAILS_ENV=production bundle exec rails c

ou

RAILS_ENV=production rails c

dependendo da sua configuração

Peter Berg
fonte
53

Bem fácil:

RAILS_ENV=production rails console
pedregulho
fonte
23

Se você já implantou seu site no servidor, também pode usar:

bundle exec rails console production

... no webroot do seu aplicativo rails. Isso se você ainda não instalou o pacote rails diretamente no servidor ou se deseja executar o console dentro do contexto do seu aplicativo web.

RNickMcCandless
fonte
1
... especialmente no Rails 4.
IAmNaN
6

Observação: esta resposta pressupõe que você está usando o Heroku como serviço de hospedagem.

Depende de qual serviço de hospedagem você está usando. Para Heroku, você pode ir ao seu terminal e digitar

heroku run rails console

Isso carregará o console do Rails para seu site de produção e permitirá que você crie registros para seu site ativo.

Você também pode pesquisar a propagação de um banco de dados, mas isso geralmente serve para teste. RailsCasts tem alguns vídeos sobre o assunto, mas eles estão um pouco desatualizados.

jason328
fonte
6

Experimente o comando abaixo.

  rails c -e production
Pratap
fonte
-1

hoje com trilhos 6 rodando no console RAILS_ENV=production rails console

daniel0318
fonte