He visto algunas de las respuestas a esta pregunta, pero ninguna parece funcionar para mí. Corrí accidentalmente heroku run rake db:seed
dos veces. Y así tengo doble cita en mi db. Así que quiero dejar caer la tabla, volver a migrar y ejecutar semilla de nuevo (una vez esta vez;)) Las soluciones que he visto hasta ahora me dicen que corra: heroku pg:reset SHARED_DATABASE
o heroku pg:reset SHARED_DATABASE --confirm <myAppName>
. Ambos de los cuales no funcionan. El error que obtengo es el siguiente:
heroku pg:reset SHARED_DATABASE
/usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:125:in `parse_config": undefined method `each" for nil:NilClass (NoMethodError)
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:116:in `parse_config"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:79:in `initialize"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:34:in `new"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:34:in `resolve_db"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/command/pg.rb:70:in `reset"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/command.rb:114:in `run"
from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/bin/heroku:14:in `<top (required)>"
from /usr/local/bin/heroku:19:in `load"
from /usr/local/bin/heroku:19:in `<main>"
Todo lo que quiero hacer es poder eliminar la tabla y luego repoblarla con mis datos semilla. Cualquier ayuda sería muy apreciada.
Respuestas
0 para la respuesta № 1Simplemente puede ingresar a la consola heroku y eliminar los datos de semilla.
heroku run console
Y borra todos los elementos de la tabla.
0 para la respuesta № 2
los heroku pg:reset
es el comando correcto, pero tiene una versión anterior de la gema, es posible que desee actualizar. Además, con la última pila de Postgres, la variable de configuración SHARED_DATABASE no existe, la Documentación de heroku dice que el comando debe ser heroku pg:reset DATABASE
.
0 para la respuesta № 3
Encontré una respuesta que parece funcionar. Con heroku run rake db:rollback
Pude quitar la tabla, y luego migrar y reiniciar los datos. Gracias por tu contribución.
0 para la respuesta № 4
La forma en que obtengo el nombre de la variable de base de datos de Heroku es ejecutando heroku config | grep POSTGRESQL
. Esto generará el nombre de la variable y su URL. A continuación, puede eliminar la base de datos yendo heroku pg:reset <DATABASE>
(que podría ser heroku pg:reset HEROKU_POSTGRESQL_CHARCOAL_URL
, por ejemplo). A continuación, debería poder migrar la base de datos de nuevo y rellenarla como lo hace normalmente.