【发布时间】:2021-08-25 03:46:19
【问题描述】:
我使用 Heroku 部署了我的应用程序,但在部署 Heroku 时创建了一个新的 PostgreSQL 数据库。现在我需要将其更改为我已经存在的 PostgreSQL 数据库(我在 VsCode 中使用 Django 框架),这是我在 localhost 中运行时使用的。有没有人有想法,请帮我解决这个问题。
【问题讨论】:
标签: django postgresql heroku heroku-postgres
我使用 Heroku 部署了我的应用程序,但在部署 Heroku 时创建了一个新的 PostgreSQL 数据库。现在我需要将其更改为我已经存在的 PostgreSQL 数据库(我在 VsCode 中使用 Django 框架),这是我在 localhost 中运行时使用的。有没有人有想法,请帮我解决这个问题。
【问题讨论】:
标签: django postgresql heroku heroku-postgres
我会创建一个数据库转储并将其导入您的 Heroku Postgres。
使用pg_dump创建转储,然后将其上传到heroku。
详细说明可查看on the heroku dev center
另外,关于这个主题的 Stackoverflow 有一个相当不错的条目here
按照这些步骤,你应该没问题。
从源 PostgreSQL 数据库创建转储
$ PGPASSWORD=YOUR_PG_PASSWORD pg_dump -Fc --no-acl --no-owner -h localhost -U YOUR_PG_USER YOUR_DB_NAME > YOUR_DB_NAME.dump
获取 Heroku 应用的 Heroku Postgres 凭据
$ heroku pg:credentials:url -a YOUR_APP_NAME
尝试使用上述凭据将 PostgreSQL 转储导入 Heroku
$ pg_restore --verbose --clean --no-acl --no-owner -h HOSTNAME -U USER -d DATABASE -p PORT PATH/TO/YOUR_DB_NAME.dump --password
输入从 Heroku Postgres 凭据收到的密码 然后它应该成功导入转储
【讨论】: