我在heroku应用中没有用户创建了PostGres数据库。现在,我已将用户添加到我的应用程序中。如何将数据库复制到其中一个用户?

时间:2019-03-02 11:44:18

标签: sql ruby-on-rails postgresql heroku heroku-postgres

我在Heroku(没有用户)中制作了一个供我个人使用的应用程序。我从2个小时前开始使用它,所以我的个人应用程序数据存储在Heroku postgres DB中。

现在,我想向其他人打开该应用程序,因此我添加了Devise gem以创建“用户”,并创建了一个新用户供我使用。但是我的问题是;如何在新用户中复制旧数据库?

我尝试过:

heroku pg:backups:capture
heroku pg:backups:download

及以后;

pg_restore ..........

在我的本地数据库中尝试复制新的LOCAL用户中的旧数据库。我已经使用PGadmin3制作了副本,但是我做不到。

我该怎么做? 谢谢。

1 个答案:

答案 0 :(得分:0)

最后我解决了不使用的问题;

heroku pg:backups:capture
heroku pg:backups:download    
pg_restore

我已在Heroku支持所提供的巨大帮助下对其进行了修复。 备份还原选项不是问题。就像给数据库中的所有数据提供一个user_id一样简单。 我为数据库中的每个表添加了一个user_id,然后将user_id分配给所有表。

rails generate migration AddUserRefToPacks user:references
rails generate migration AddUserRefToCigs user:references

然后;

rails db:migrate

迁移完成后,您必须运行rails控制台;

rails c

并将新的user_id分配给我的所有背包和香烟。

Cig.all.each do |cig|
  cig.user_id = 2
  cig.save
end

与Packs相同。

仅此而已。 谢谢。