2013-10-22 51 views
4

我們有一些表格有大量記錄並且不經常使用(例如user_activities),並且我們希望能夠將目標表格中的記錄歸檔(我的意思是移動)到歸檔表格中在單獨的數據庫。Rails - 將表格歸檔到另一個數據庫

我的問題是:有沒有已知的解決方案?

附加說明: 我想要某種類型的rake任務會觸發歸檔過程。該過程將經過標記爲「歸檔」(或其他)的表格,並將過期的記錄移至單獨數據庫中的歸檔表格。

例子user_activities有30000條記錄。我將表格標記爲歸檔並通過id設置截止 - 最後2000條記錄。我希望下面的結果:

  1. user_activities包含最新的2000條記錄
  2. 28 000過時的記錄已被移動到archived_user_activitiesmy_super_cool_named_database

PS我們使用mysql2適配器(如果有幫助)

謝謝!

+0

的直覺告訴我,你會輸少的時間,然後這個寫自己找出一個寶石/框架做 – bbozo

+0

@ Sancho.RubyROID:你有沒有發現找到一個很好的辦法做到這一點? –

回答

0

下面顯示的轉儲命令和恢復命令適用於整個數據庫。

複製數據庫: 的mysqldump -u [UNAME] -P [通過]爲[dbname]> [backupfile.sql]

使用此方法從頭重建一個數據庫: $的MySQL -u [用戶名] -p [密碼] [database_to_restore] < [backupfile]

使用此方法導入到現有的數據庫(即恢復已經存在的數據庫):【選項】數據庫textfile1

$ mysqlimport的要恢復您以前創建的custback.s你可以使用: $ mysqlimport -u sadmin -p pass21客戶custback.sql

雖然如果你只想要一個特定的分貝部分,你可以做這樣的事情...

CREATE TABLE db2.table LIKE db1.table; 
INSERT INTO db2.table SELECT * FROM db1.table; 
相關問題