【问题标题】:Setup Heroku Database for the first time第一次设置 Heroku 数据库
【发布时间】:2014-02-04 02:14:10
【问题描述】:

我正在使用 postgresql,并且一直在我的本地开发环境下运行。我将我的应用程序部署到 Heroku,现在我需要设置 heroku 以使用数据库,就像我在本地使用的一样。

在本地,我会运行这个:

rake db:create
rake db:migrate

在heroku上,我尝试了同样的事情:

heroku run rake db:create

但是,这会返回此错误:

FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

Couldn't create database for {"adapter"=>"postgresql", "username"=>"stegjyxfak", "password"=>"wB-Yfh450945jI5UrnFjxdwZ_o4N5", "port"=>5432, "database"=>"d64phj348vgdg5hm", "host"=>"ec2-107-20-191-205.compute-1.amazonaws.com"}

我应该运行什么来设置我的 heroku 数据库?如果这是相对的,我正在使用 Rails 4.0。

【问题讨论】:

标签: ruby-on-rails database postgresql heroku


【解决方案1】:

您应该使用migrate 而不是create

heroku run rake db:migrate

https://devcenter.heroku.com/articles/getting-started-with-rails4#deploy-your-application-to-heroku

【讨论】:

  • 谢谢,就这样。
【解决方案2】:

heroku 上不允许使用直接破坏性命令(dropcreate)。但是,如果您可以丢失所有数据,您可以使用pg:reset 重置数据库。

所有其他更改都应使用db:migrate 完成。如果您的迁移不再通过完整堆栈运行,您也可以使用db:schema:load,但请注意,如果create_table 设置了force: trueforce: :cascade,这可能具有破坏性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 2012-06-19
    • 1970-01-01
    • 2019-10-18
    相关资源
    最近更新 更多