根據標題我需要導入,但PG備份給我嚴格的Postgres SQL不能與MySQL一起工作,也有我認爲是UTF-16的非指定編碼。使用db:pull在完成前需要很長的時間和錯誤。 我會很感激任何建議。謝謝。如何從Heroku導入大型數據庫到本地mysql或sqlite3?
回答
在本地設置PostgreSQL,使用PG backups將數據從Heroku複製到本地計算機,然後pg_restore
將其導入到新的本地PostgreSQL中。然後,您可以將其從PostgreSQL複製到本地MySQL或SQLite,而無需擔心超時。或者,因爲在此之後您將擁有功能強大的PostgreSQL安裝,只需在PostgreSQL之上開始開發,以便您的開發堆棧更好地匹配您的部署堆棧;在同一個數據庫上開發和部署是個好主意。
您可能會從Heroku獲得二進制轉儲(即pg_dump -Fc
),這將解釋爲什麼轉儲看起來像某種UTF-16廢話。
可以使用pgbackups addon導出數據庫轉儲
$ heroku addons:add pgbackups # To install the addon
$ curl -o latest.dump `heroku pgbackups:url` # To download a dump
嗨畝,謝謝,但安裝PG開發是我想避免的。在開發中使用相同的數據庫可能很有用,但對於大多數項目,這只是不值得,我會堅持使用SQLite3。 – aledalgrande
最後,我結束了安裝PG(或者您可以使用Lion附帶的一個)。這個過程是: *創建一個PG用戶 *和pg_restore 恢復轉儲*安裝**第**和** **水龍頭寶石 *開始Postgres的水龍頭服務器:'水龍頭服務器的Postgres:// root @ localhost/rcp_dev tapsuser tapspassword' *將數據提取到sqlite3(對於mysql相同):'taps pull sqlite://db/development.sqlite3 http:// tapsuser:tapspassword @ localhost:5000' – aledalgrande
@aledalgrande:如果您部署到Heroku,開發PostgreSQL絕對是值得的。所有數據庫都有細微的差別(GROUP BY,區分大小寫,布爾值,功能可用性,數據類型,轉換需求,截斷或引發異常......),並且沒有ORM可以保護您免受所有數據庫的攻擊。保存自己的一些悲傷,開發和部署在同一個堆棧上。 –
的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 documentation,然後運行上面的命令,你就設置。
按照終端這4個簡單的步驟
(Heroku Dev Center):
安裝Heroku的備份工具:
$ heroku addons:add pgbackups
開始使用它:
$ heroku pgbackups:capture
下載在Heroku遠程數據庫(到本地機器上)使用curl:
$ 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
- 讓您的用戶名,並選擇來自您的config/database.yml文件的所需數據庫。
- DATABASE_NAME可以成爲你的開發/測試/生產數據庫(例mydb_development)
這就是它!
UPDATE:將其更新爲新的接口
- 1. 導入/導出大型mysql數據庫
- 2. 如何導入從文本文件數據到MySQL數據庫
- 3. Mysql大型數據庫導入
- 4. 如何將本地MySQL數據庫導入到Web服務器
- 5. sqlcipher如何導入sqlite3數據庫
- 6. 如何將本地MySQL數據庫部署到Heroku
- 7. Heroku:將數據庫轉儲到Rails項目的本地SQLite3數據庫
- 8. 導入CSV大到mysql數據庫
- 9. Rails應用程序:將數據sqlite3數據庫導入到sqlite3
- 10. 將數據從BigQuery導出到本地PostgreSQL/MySql數據庫
- 11. Python:將數據從大型csv導入到sqlite數據庫
- 12. 如何導入數據庫到vagrant mysql?
- 13. 如何將數據庫從mongolab.com複製或導入到本地mongodb服務器?
- 14. Rails:從本地MySQL到Heroku
- 15. 如何將數據從mysql數據庫導入到datagridview
- 16. 將數據導入到Sqlite3
- 17. 使用php導入大型csv文件到mysql數據庫
- 18. 將大型數據庫導入到MySQL中
- 19. 如何將本地MySQL數據庫導入RDS數據庫實例?
- 20. 將CSV導入到Heroku數據庫中
- 21. 如何從Excel導入數據到MYSQL?
- 22. 腳本從csv導入數據到mysql
- 23. 從大型腳本導入SQL Server數據庫
- 24. 無法將Heroku PostgreSQL轉儲導入本地數據庫
- 25. 導入巨大的數據庫到本地服務器
- 26. 將數據庫從本地MYSQL數據庫移動到MAMP MYSQL數據庫
- 27. 從csv文件導入到sqlite3數據庫的多個記錄
- 28. 如何更改settings.py以從SQLite3數據庫遷移到MySQL數據庫?
- 29. 將實體數據庫模型從MySQL導入到Visual Studio 2010
- 30. 將數據從Access導入/導出到遠程MySQL數據庫
我也有類似的發出─如何讓備份*不*安裝PG本地。你可能想編輯你的問題來包括這個(如你在下面的評論中所做的那樣)。 –