Heroku没有重置数据库

时间:2011-12-16 03:04:52

标签: ruby-on-rails heroku

我正在尝试使用以下方法重置heroku上的数据库:

heroku pg:reset SHARED_DATABASE

然后运行:

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

但是我收到以下错误:

Validation failed: Email has already been taken

我注意到进入heroku rails控制台后,用户没有被删除,因此验证失败了。我在这里缺少什么?

2 个答案:

答案 0 :(得分:9)

试试这个: heroku pg:reset SHARED_DATABASE --confirm {the name of your app}

替换我写过的应用名称{应用名称}。例如,如果您的应用程序名为my_great_app,则使用:

heroku pg:reset SHARED_DATABASE --confirm my_great_app

要重新创建数据库中没有任何内容:

heroku rake db:migrate

使用种子数据填充数据库:

heroku rake db:seed

您可以通过执行以下操作将最后两个合并为一个操作:

heroku rake db:setup

答案 1 :(得分:0)

我刚刚经历了这件事,这就是我所做的(其他答案中缺少步骤#3,这使我停了一会儿)

  1. heroku pg:info(获取HEROKU_POSTGRESQL_HEROKUCOLOR_URL的值)
  2. heroku pg:重置HEROKU_POSTGRESQL_HEROKUCOLOR_URL-确认{app_name}
  3. heroku运行rake db:schema:load
  4. heroku运行rake db:migrate
  5. heroku运行rake db:seed

按照:Heroku rake db:migrate does not create tables (Rails 5)