エクスポート機能の作成

ブックマークのデータをCSVで出力する機能を作ってみる。
今回は、「rake」コマンドを使ったRakeタスクとして定義。

「Rake」をGemfileに追記して「bundle install」する。
エクスポート機能の作成②

データベースにアクセスして単純に一覧を出力。
「DB.connect」に渡す、引数は、明示的に「RACK_ENV」を指定しない場合は「development」を使用するようにする。
エクスポート機能の作成③

前回で無事に保存されているレコードが出力されるのを確認したので、このデータをRubyに標準添付されている「CSV」ライブラリを使ってCSVとして出力できるようする。

CSVを作成するため、最初の行には「Bookmark.attribute_names」を使ってbookmarksテーブルのカラムの配列を出力。その後はレコードを取得しつつCSVファイルへレコードの内容を出力していく。

このタスクを実行すると、「Rackfile」と同じディレクトリに「bookmark.csv」というファイルが出力される。