我正在Heroku上开发Ruby on Rails 3 web应用程序。如何清空数据库?
当前回答
检查你的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现在已经弃用了——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 DATABASE——确认
假设你想重置你的PostgreSQL数据库并将其备份,使用:
heroku apps
在Heroku上列出你的申请。找到当前应用程序的名称(application_name)。然后运行
heroku config | grep POSTGRESQL
来获取数据库的名称。一个例子是
HEROKU_POSTGRESQL_WHITE_URL
最后,给定application_name和database_url,您应该运行
heroku pg:reset `database_url` --confirm `application_name`
heroku run rake db:migrate
heroku restart
完整的答案是(对于有多个db的用户):
Heroku pg:info -输出
=== HEROKU_POSTGRESQL_RED <——这是DB 计划基本 可用状态
heroku pg:reset HEROKU_POSTGRESQL_RED——确认app_name
更多信息请访问:https://devcenter.heroku.com/articles/heroku-postgresql
最好的解决办法是
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
推荐文章
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- 在ROR迁移期间,将列类型从Date更改为DateTime
- ActiveRecord:大小vs计数
- 使用rvmrc或ruby版本文件设置RVM项目gemset ?
- 如何在控制器中使用Helper
- 如何用另一个键替换哈希键
- 添加一个CSS类<%= f.submit %>
- rmagick gem安装“无法找到Magick-config”
- 如何在Heroku上重新启动rails服务器?
- 如何使用Ruby on Rails进行HTTP请求?
- Heroku和GitHub:“项目无法检索,内部服务器错误”
- 如何关闭部署在Heroku上的应用程序?
- Rails—找不到JavaScript运行时?
- 最好的方法加载模块/类从lib文件夹在Rails 3?
- 'heroku'似乎不是一个git存储库