Como posso usar o console rails em Heroku? Carris 5.1 e postgresql
$ heroku run rails c
devolve o seguinte erro:
Para contornar isto, posso ... run:/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_ support / dependencies.rb: 292: em
require': cannot load such file -- rack/handler/c (LoadError) from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in
Bloco in require' de /app/vendor/bundle/ruby/2.4. 0/gems/activesupport-5.1.3/lib/active_ support / dependencies.rb: 258: /app/vendedor/pacote/ruby/2.4.0/gems/rack-2.0.3/lib/rack / handler.rb: 74: intry_require' from /app/vendor/bundle/ruby/2.4.0/gems/rack-2.0.3/lib/rack/handler.rb:16:in
sai de /app/vendedor/pacote/ruby/2.4.0/gems/rack-2.0.3/lib/rack / servidor.rb: 301: inserver' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server/server_command.rb:68:in
print_boot_information ' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server / server_ Command.rb: 38: instart' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server/server_command.rb:131:in
bloco em execução ' de /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server / server_ Command.rb: 126: emtap' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands/server/server_command.rb:126:in
executar ' de /app/vendedor/pacote/ruby/2.4.0/gems/thor-0.20.0/lib/thor / comando.rb: 27: inrun' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in
invoke_command ' from /app/vendedor/pacote/ruby/2.4.0/gems/thor-0.20.0/lib / thor.rb: 387: indispatch' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/command/base.rb:63:in
executar ' de /app/vendedor/pacote/ruby/2.4.0/gems/railties-5.1.3/lib/rails / command.rb: 44: ininvoke' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.3/lib/rails/commands.rb:16:in
' de bin / rails: 9: inrequire' from bin/rails:9:in
"
$ heroku run bash
$ rails c
E isto permite-me actualizar a base de dados de produção. Enquanto isto funciona e dá-me o que preciso. Quero saber porque é que o comando original não funciona. Procurei por toda a parte por uma resposta e não consigo encontrar nada que se aplique a mim. Estou tentando melhorar minhas habilidades de desenvolvimento e gostaria de entender por que o problema original não vai funcionar.
Posso adicionar ficheiros que alguém precise de ver, mas nem sei quais são relevantes para isto. problema.
1 answers
O meu entendimento é que o comando {[[0]} é fornecido pela Interface da linha de comandos Heroku (CLI). o CLI não sabe como lidar com o comando. No entanto, ao executar rails c
heroku run bash
irá rodar um novo dyno e oferece acesso a uma linha de comandos Unix, onde poderá executar comandos (isto é, Linhas c), tal como o seu terminal local. Para mais informações, ver: https://devcenter.heroku.com/articles/how-heroku-works.
Editado para corrigir o erro: o CLI sabe como lidar com o rails c
comando