Estou trabalhando em um webapp do Ruby on Rails 3 no Heroku. Como esvazio o banco de dados?
fonte
Estou trabalhando em um webapp do Ruby on Rails 3 no Heroku. Como esvazio o banco de dados?
Para descartar o banco de dados, se você estiver usando SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Agora, para recriar o banco de dados sem nada:
$ heroku run rake db:migrate
Para preencher o banco de dados com seus dados iniciais:
$ heroku run rake db:seed
---OU---
Você pode combinar os dois últimos ( migrar e propagar ) em uma ação executando o seguinte:
$ heroku run rake db:setup
Edit 18-04-2014: rake db:setup
não funciona com o Rails 4, falha com um Couldn't create database error
.
Editar 09/10/2014: você pode usar rake db:setup
com o Rails 4. Isso gera um Couldn't create database
erro (porque o banco de dados já foi criado usando o heroku pg:reset
comando). Mas também carrega seu esquema de banco de dados e suas sementes após a mensagem de erro.
Você pode fazer isso com praticamente qualquer comando rake, mas há exceções. Por exemplo, db:reset
não funciona via heroku run rake
. Você tem que usar em seu pg:reset
lugar.
Mais informações podem ser encontradas na documentação do Heroku:
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
Heroku descontinuou a
--db
opção agora, então agora use:É um pouco confuso porque você usa o texto literal,
SHARED_DATABASE
mas onde escrevi{the name of your app}
substitua o nome do seu aplicativo. Por exemplo, se seu aplicativo é chamado my_great_app, você usa:fonte
SHARED_DATABASE
Para descartar o banco de dados:
Para recriar o banco de dados:
Para propagar o banco de dados:
**Passo final
fonte
heroku run rake db:migrate
não recria mais o banco de dadosA corrente, ie. 2017 maneira de fazer isso é:
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
fonte
heroku run rake db:migrate db:seed
Agora o comando é
Dessa forma, você pode especificar o banco de dados do aplicativo que deseja redefinir. Então você pode correr
ou direto para os dois comandos acima
E agora etapa final para reiniciar seu aplicativo
fonte
Entrei em contato com o suporte do Heroku e eles confirmaram que é um bug com a última gem (estou usando o heroku-2.26.2)
Faça o downgrade com os seguintes comandos:
Se você já possui várias gemas instaladas, pode ser apresentado a você:
Apenas desinstale o # 2 e execute novamente o comando. Alegria!
fonte
A resposta completa é (para usuários com multi-db):
heroku pg: info - que resultados
heroku pg: redefinir HEROKU_POSTGRESQL_RED --confirm app_name
Mais informações encontradas em: https://devcenter.heroku.com/articles/heroku-postgresql
fonte
Agora é diferente com o heroku. Tente: heroku pg: reset DATABASE --confirm
fonte
Hoje o comando
não trabalhando para planos compartilhados, resolvo usar
fonte
Entre no seu banco de dados usando
heroku pg:psql
e digite os seguintes comandos:fonte
Agora também é possível redefinir o banco de dados através de sua interface da web.
Vá para dashboard.heroku.com, selecione seu aplicativo e, em seguida, você encontrará o banco de dados na categoria de complementos, clique nele e poderá redefinir o banco de dados.
fonte
Verifique sua versão heroku. Acabei de atualizar o meu para 2.29.0, da seguinte maneira:
Agora você pode executar:
Em seguida, crie seu banco de dados e propague-o em um único comando:
Agora reinicie e tente seu aplicativo:
fonte
Isto é o que funcionou para mim.
1.claro db.
Após a execução, você precisará digitar o nome do aplicativo novamente para confirmar.
2.migrar db para recriar.
3.adicione dados de semente ao db.
fonte
Caso você prefira usar o site da Heroku:
fonte
Supondo que você deseja redefinir seu banco de dados PostgreSQL e configurá-lo novamente, use:
para listar seus aplicativos no Heroku. Encontre o nome do seu aplicativo atual (
application_name
). Então corrapara obter o nome dos seus bancos de dados. Um exemplo pode ser
Finalmente, dado
application_name
edatabase_url
, você deve executarfonte
Se você estiver conectado a partir do console, isso fará o trabalho no último cinto de ferramentas heroku,
heroku pg: reset --confirm database-name
fonte
Eu sempre faço isso com o one-liner 'heroku pg: reset DATABASE'.
fonte
A melhor solução para o seu problema será
não é necessário, mas o terminal sempre me pede para executar esse comando.
Após esse comando, você terá um banco de dados puro, sem estrutura e outras coisas, depois poderá executar
ou
fonte