2012-07-02 92 views
0

我想導出數據庫到一個單一的sql文件。我已經開發了一個由開發人員創建的項目,在離開項目之前似乎沒有對它進行備份。我需要獲取數據庫結構的副本,以便我可以在本地測試環境中基本處理它。Ruby on Rails:如何將數據庫導出到sql文件?

我注意到了rake db:structure:dump -command,在終端上給我下面的響應:rake中止了! 不知道如何建立任務'數據集:導出'

是否有我需要安裝的寶石或什麼,或者你如何簡單地將數據庫導出到單個文件?

+0

什麼rails版本?什麼數據庫? – Meier

+0

- ruby​​:1.8.7 - rails:3.2.2 - MySql – Majoren

回答

0

你可以做到以下幾點:

a)作出耙DB模式的軌道版本:schema.dump

生成的文件是DB/schema.rb 可以加載那麼它在本地db:schema:load

b)使用mysql工具獲取真正的sql轉儲。例如見

http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html

C)嘗試調試爲什麼耙任務失敗。一個問題可能是,你需要先設置RAILS_ENV,例如在Unix的慶典與

RAILS_ENV=production; export RAILS_ENV 

但是如果你沒有快速找到一個解決方案,嘗試)或b),因爲其數據庫結構重要的是改變代碼,更新寶石等。

+0

謝謝你的時間,但它不像你描述的那樣工作。我已經有了schema.rb,但是如何將它變成我可以用MySQLWorkbench導入的東西?最好是一個sql文件。 'db:schema:load'不起作用。我正在研究它,但沒有結果。 – Majoren

+0

比選項b更適合你:使用命令行mysqldump工具。您可以在config/database.yml中找到現有的數據庫名稱和用戶 – Meier

+0

謝謝。我對這種開發方式很陌生,所以我仍然有些困惑:) – Majoren

相關問題