Estoy trabajando en una aplicación web Ruby on Rails 3 en Heroku. ¿Cómo vacío la base de datos?
fuente
Estoy trabajando en una aplicación web Ruby on Rails 3 en Heroku. ¿Cómo vacío la base de datos?
Para descartar la base de datos, si está utilizando SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Ahora para recrear la base de datos sin nada:
$ heroku run rake db:migrate
Para rellenar la base de datos con sus datos semilla:
$ heroku run rake db:seed
---O---
Puede combinar los dos últimos ( migrar y inicializar ) en una sola acción ejecutando esto:
$ heroku run rake db:setup
Editar 2014-04-18:rake db:setup
no funciona con Rails 4, falla con a Couldn't create database error
.
Editar 2014-10-09: Puede usar rake db:setup
con Rails 4. Le da un Couldn't create database
error (porque la base de datos ya se creó usando elheroku pg:reset
comando). Pero también carga su esquema de base de datos y sus semillas después del mensaje de error.
Puede hacer esto con casi cualquier comando de rastrillo, pero hay excepciones. Por ejemplo, db:reset
no funciona a través de heroku run rake
. Tienes que usarpg:reset
en lugar.
Se puede encontrar más información en la documentación de Heroku:
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
Heroku ha desaprobado la
--db
opción ahora, así que ahora usa:Es un poco confuso porque usa el texto literal,
SHARED_DATABASE
pero donde lo he escrito{the name of your app}
sustituya el nombre de su aplicación. Por ejemplo, si su aplicación se llama my_great_app, entonces usa:fuente
SHARED_DATABASE
Para descartar la base de datos:
Para recrear la base de datos:
Para sembrar la base de datos:
**Último paso
fuente
heroku run rake db:migrate
ya no recrea la base de datosEl actual, es decir. La forma de hacer esto en 2017 es:
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
fuente
heroku run rake db:migrate db:seed
Ahora el comando es
de esta manera puede especificar qué base de datos de la aplicación desea restablecer. Entonces puedes correr
o directo para los dos comandos anteriores
Y ahora paso final para reiniciar tu aplicación
fuente
Me puse en contacto con el soporte de Heroku, y confirmaron que es un error con la última gema (estoy usando heroku-2.26.2)
Baje de categoría con los siguientes comandos:
Si ya tiene varias gemas instaladas, se le puede presentar:
Simplemente desinstale el n. ° 2 y vuelva a ejecutar el comando. ¡Alegría!
fuente
La respuesta completa es (para usuarios con multi-db):
heroku pg: info - que produce
heroku pg: restablecer HEROKU_POSTGRESQL_RED --confirmar nombre_aplicación
Más información encontrada en: https://devcenter.heroku.com/articles/heroku-postgresql
fuente
Ahora es diferente con heroku. Prueba: heroku pg: reset BASE DE DATOS --confirmar
fuente
Hoy el comando
no funciona para planes compartidos, estoy decidida a usar
fuente
Inicie sesión en su base de datos utilizando
heroku pg:psql
y escriba los siguientes comandos:fuente
Ahora también es posible restablecer la base de datos a través de su interfaz web.
Vaya a dashboard.heroku.com, seleccione su aplicación y luego encontrará la base de datos en la categoría de complementos, haga clic en ella y luego puede restablecer la base de datos.
fuente
Comprueba tu versión de heroku. Acabo de actualizar el mío a 2.29.0, de la siguiente manera:
Ahora puedes ejecutar:
Luego crea tu base de datos y siembra en un solo comando:
Ahora reinicie y pruebe su aplicación:
fuente
Esto es lo que funcionó para mí.
1.bd claro.
Después de ejecutarlo, deberá volver a escribir el nombre de su aplicación para confirmar.
2.migrate db para recrear.
3.Agregar datos semilla a db.
fuente
En caso de que prefiera usar el sitio web de Heroku:
fuente
Suponiendo que desea restablecer su base de datos PostgreSQL y volver a configurarla, use:
para enumerar sus aplicaciones en Heroku. Encuentra el nombre de tu aplicación actual (
application_name
). Entonces correpara obtener el nombre de sus bases de datos. Un ejemplo podría ser
Finalmente, dado
application_name
ydatabase_url
, deberías correrfuente
Si ha iniciado sesión desde la consola, esto hará el trabajo en el último cinturón de herramientas heroku,
heroku pg: reset --confirma nombre-base de datos
fuente
Siempre hago esto con la frase 'heroku pg: reset DATABASE'.
fuente
La mejor solución para su problema será
no es obligatorio, pero el terminal siempre me pide que haga ese comando.
Después de ese comando, tendrá db puro, sin estructura y demás, después de eso puede ejecutar
o
fuente