我正在Heroku上开发Ruby on Rails 3 web应用程序。如何清空数据库?


当前回答

现在命令是

heroku pg:reset DATABASE_URL --confirm your_app_name

这样你就可以指定要重置哪个应用的数据库。 然后你就可以跑了

heroku run rake db:migrate 
heroku run rake db:seed 

或直接用于上述两个命令

heroku run rake db:setup 

现在是重启应用的最后一步

heroku restart

其他回答

这对我来说很管用。 1.清晰的db。

heroku pg:reset --app YOUR_APP

运行后,你必须再次输入你的应用程序名称来确认。

2.迁移数据库重新创建。

heroku run rake db:migrate  --app YOUR_APP

3.将种子数据添加到数据库。

heroku run rake db:seed --app YOUR_APP

检查你的heroku版本。我刚刚把我的更新到2.29.0,如下:

heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) ruby/1.9.3

现在你可以运行:

heroku pg:reset DATABASE --confirm YOUR_APP_NAME

然后创建你的数据库,并在一个命令中播种:

heroku run rake db:setup

现在重新启动并尝试应用程序:

heroku restart
heroku open

删除数据库:

$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP

重新创建数据库:

$ heroku run rake db:migrate

为数据库播种:

$ heroku run rake db:seed

* *最后一步

$ heroku restart

Heroku现在已经弃用了——db选项,所以现在使用:

heroku pg:reset DATABASE_URL --confirm {the name of your app}

这有点令人困惑,因为你使用文字文本SHARED_DATABASE,但我已经写了{你的应用程序的名称}替换你的应用程序的名称。例如,如果你的应用程序被称为my_great_app,那么你使用:

heroku pg:reset DATABASE_URL --confirm my_great_app

最好的解决办法是

heroku pg:reset -r heroku  --confirm your_heroku_app_name

——确认your_heroku_app_name

不是必须的,但是终端总是问我做那个命令。

在这个命令之后,你将有一个纯db,没有结构和东西,之后你就可以运行了

heroku run rake db:schema:load -r heroku

or

heroku run rake db:migrate -r heroku