我正在Heroku上开发Ruby on Rails 3 web应用程序。如何清空数据库?
当前回答
我总是用一行程序“heroku pg:reset DATABASE”来做这件事。
其他回答
要删除数据库,如果你使用SHARED_DATABASE_URL:
$ heroku pg:reset DATABASE_URL
现在重新创建一个没有任何内容的数据库:
$ heroku run rake db:migrate
用种子数据填充数据库:
$ heroku run rake db:seed
——或
你可以通过执行以下命令将最后两个(migrate & seed)合并为一个动作:
$ heroku run rake db:setup
编辑2014-04-18:rake db:setup不能与Rails 4一起工作,它失败了,提示不能创建数据库错误。
编辑2014-10-09:你可以在Rails 4中使用rake db:setup。它会给你一个cannot 't create database错误(因为数据库已经使用heroku pg:reset命令创建了)。但是它也会在错误消息之后加载数据库模式和种子。
您可以使用几乎任何rake命令来实现这一点,但也有例外。例如,db:reset不能通过heroku运行rake工作。你必须使用pg:reset来代替。
更多信息可以在Heroku的文档中找到:
运行Rake命令
重置Postgres DB
现在赫鲁就不一样了。试一试: heroku pg:reset DATABASE——确认
如果您更喜欢使用Heroku网站:
访问https://postgres.heroku.com/databases 选择要重置的数据库 点击右上角的设置按钮 点击“重置数据库”,如下图所示: 输入“RESET”,然后按“ok”
假设你想重置你的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
这对我来说很管用。 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
推荐文章
- Rails:如何在Rails 4中引用CSS中的图像
- 使用pgadmin连接到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运行时?