2011-06-18 18 views
0

私はレールサイトとmysqlデータベースを手に入れました。 私のモデルの1つをアーカイブする必要があります。 私のオプションは何ですか?レールにはいくつかの機能が組み込まれていますか? mysqlには何かがありますか?Ruby on Railsのデータをエクスポートする

+0

アーカイブの意味を少し広げることができますか。アクティブなテーブルから古いレコードを削除して、コードを使ってそれらにアクセスできる別の場所に格納するか、単にバックアップして削除するだけですか? –

答えて

2

rake db:dumpは、スキーマとデータベースの内容をダンプします。
熊手デシベル:負荷が戻ってあなたのDBにダンプの内容をロードします

3

mysqldumpエクスポートユーティリティを使用することをお勧めします。

1

あなたには、いくつかの簡単なデータベースのバックアップが必要な場合は、私は(も参照MySQL Backup methods). あなたは組み合わせることができmysqdumpまたはmysqlhotcopyのいずれかの表情を取ることをお勧め頻繁に実行され、バックアップタスクを実行cronjobこの

2

バックアップするには:。

mysqldump -u user -p DATABASE > backup.sql 

インポートするには:

mysql -u user -p DATABASE < backup.sql 
0

ActiveRecordアソシエーションを使用して、データを他の形式(pdf、csv、htmlなど)にエクスポートできる単純なコールバック関数を構築することを検討できます。コールバック関数から成功を聞き、次に.destroy()または.delete()を呼び出すかSomeObjectで選択したガベージメソッドを呼び出します。

はここAssociation_callbacksに見て: http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

オプションさておき、mysqldumpをはかなりくそ効率的です!