2011-12-10 68 views
3

我正在使用sqlite(現在)在rails上開發和生產系統。我有一個我想複製到production.sqlite3的development.sqlite3文件,以便在生產環境中運行一些測試。如何使用sqlite將開發數據庫中的數據複製到產品數據庫

我試圖將開發數據庫複製到生產只是做mv development.sqlite3 production.sqlite3,似乎並沒有工作。

關於如何最好地去做這件事的任何想法?

回答

4

根據this question下面的代碼來做。

RAILS_ENV=production rake db:create db:schema:load 

這清空了當前production.sqlite3。數據庫創建並加載結構後,可以將development.sqlite3複製到production.sqlite3以複製數據。

cp db/development.sqlite3 db/production.sqlite3 
+0

我試過了,它似乎沒有工作。有沒有辦法測試以確保數據在production.sqlite3中,並且有一種方法可以確保rails知道它在生產環境中。 –

+0

我只是在sqlite3裏面運行'select * from posts ;'並確認db中沒有數據。難道我做錯了什麼?我從命令行運行這些命令,它似乎可以處理您期望的輸出。 –

+0

要在生產中啓動rails服務器,請運行'rails server production',並啓動控制檯以運行'rails console -e production'。您在sqlite3中找不到生產sql.sqlite3中的數據?如果你已經複製了development.sqlite3,你應該擁有完全相同的數據,不管Rails能看到什麼。 – Frans

相關問題