![](/img/trans.png)
[英]Rails, how to migrate data from development sqlite3 database to production MySQL database?
[英]How to import a big database from Heroku to local mysql or sqlite3?
根據標題,我需要導入,但是PG備份為我提供了嚴格的Postgres SQL,該SQL無法與MySQL一起使用,並且還提供了我認為是UTF-16的非指定編碼。 使用db:pull會花費一些時間和錯誤,然后才能完成。 我將不勝感激任何建議。 謝謝。
在本地設置PostgreSQL,使用PG備份將數據從Heroku復制到本地計算機,然后使用pg_restore
導入到新的本地PostgreSQL。 然后,您可以在本地將它從PostgreSQL復制到MySQL或SQLite,而不必擔心超時。 或者,由於在那之后安裝了功能正常的PostgreSQL,因此只需在PostgreSQL之上開始開發,以使您的開發堆棧更好地與您的部署堆棧匹配; 在同一個數據庫上進行開發和部署是一個好主意。
您可能會從Heroku獲得二進制轉儲(即pg_dump -Fc
),這將解釋為什么轉儲看起來像某種UTF-16廢話。
您可以使用pgbackups 插件導出數據庫轉儲
$ heroku addons:add pgbackups # To install the addon
$ curl -o latest.dump `heroku pgbackups:url` # To download a dump
Heroku上有關於如何執行此操作的說明: https : //devcenter.heroku.com/articles/heroku-postgres-import-export#restore-to-local-database ,其歸結為:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump
其中myuser
是當前用戶,而mydb
是當前數據庫。
如果您使用Postgres.app ,則在本地復制生產數據庫非常簡單。 除非另行配置,否則可以不使用-U myuser
,並通過運行$ psql -h localhost
然后CREATE DATABASE your_database_name;
(來自Postgres.app文檔 。然后運行上面的命令,您已設置好。
安裝Heroku Backup工具:
$ heroku addons:add pgbackups
開始使用它:
$ heroku pgbackups:capture
使用curl將Heroku上的遠程數據庫下載到本地計算機上:
$ curl -o latest.dump 'heroku pg:backups public-url'
加載*:
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U YOUR_USERNAME -d DATABASE_NAME latest.dump
而已!
更新:已更新到新界面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.