Я создал базу данных PostGres в моем приложении heroku без пользователей.Теперь я добавил пользователей в свое приложение.Как я могу скопировать БД одному из пользователей? - PullRequest
0 голосов
/ 02 марта 2019

Я сделал одно приложение для личного пользования в Heroku (без пользователей).Я использовал его 2 месяца назад, поэтому у меня есть личные данные приложения в базе данных Heroku postgres.

Теперь я хочу открыть приложение другим людям, поэтому я добавил гем Devise для созданияПользователи, и я создал одного нового пользователя для моего использования.Но мой вопрос таков;как я могу скопировать мою старую БД в моего нового пользователя?

Я пробовал:

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

и позже;

pg_restore ..........

в моей локальной БД, чтобы попробоватьскопировать старую БД в мой новый ЛОКАЛЬНЫЙ пользователь.Я использовал PGadmin3, чтобы сделать копию, но не смог.

Как мне это сделать?Спасибо-х.

1 Ответ

0 голосов
/ 06 марта 2019

Наконец-то я решил не использовать;

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

И то же самое для пачек.

Вот и все.Благодаря.

...