将数据库从本地开发迁移到Heroku-Django 1.8

Wut*_*Wut 8 python django postgresql heroku django-database

使用后建立数据库后heroku addons:create heroku-postgresql:hobby-dev,我尝试将本地数据库迁移到heroku数据库.所以我先跑了

heroku python manage.py migrate.之后我用我的本地数据库创建了一个转储文件pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump.我将mydb.dump文件上传到dropbox,然后使用以下命令将转储加载到我的heroku数据库

 heroku pg:backups restore'https://www.dropbox.com/s/xkc8jhav70hgqfd/mydb.dump?' HEROKU_POSTGRESQL_COLOR_URL
Run Code Online (Sandbox Code Playgroud)

但是,这会引发以下错误 -

 r004 ---restore---> HEROKU_POSTGRESQL_PURPLE
 [0KRunning... 0.00B..
 [0KAn error occurred and your backup did not finish.
 Please run `heroku pg:backups info r004` for details.
Run Code Online (Sandbox Code Playgroud)

在跑步时heroku pg:backups info r004我得到 -

Database:    BACKUP
Started:     2015-06-25 18:19:37 +0000
Finished:    2015-06-25 18:19:38 +0000
Status:      Failed
Type:        Manual
Backup Size: 0.00B
=== Backup Logs
2015-06-25 18:19:38 +0000: waiting for restore to complete
2015-06-25 18:19:38 +0000: pg_restore: [archiver] did not find magic string in file header
2015-06-25 18:19:38 +0000: restore done
2015-06-25 18:19:38 +0000: waiting for download to complete
2015-06-25 18:19:38 +0000: download done
Run Code Online (Sandbox Code Playgroud)

关于这个错误在线没有太多信息,我无法弄清楚问题是什么.

Tom*_*gli 19

如果数据库很小并且您觉得很幸运,那么可能会这样做

pg_dump --no-acl --no-owner -h localhost -U myuser myd | heroku pg:psql
Run Code Online (Sandbox Code Playgroud)

  • 有效.不知道为什么我使用的语句不起作用,因为这是heroku docs推荐用于导入数据库的内容. (6认同)

小智 9

我也有这个错误,我的解决方案有点不同.问题与使用的格式有关.转储数据库时我需要使用--format = c.

为了解决这个问题,我使用--format = c再次转储数据库

pg_dump --no-acl --no-owner --format=c database_name > db.dump
Run Code Online (Sandbox Code Playgroud)

然后将其导入我的heroku应用程序

heroku pg:backups restore 'url_for_db.dump' DATABASE_URL
Run Code Online (Sandbox Code Playgroud)

希望这有助于未来的人!