rakeタスクについて
こんにちは、ぐっちと申します。
SEEDファイルを指定して実行する為に、rakeタスクについて調べました。
そもそもRakeタスクとは、ターミナルなどのコマンドライン上からアプリケーションを実行できる機能の一つで、私がよく使っていたrake routesも標準で装備されたRakeタスクに当たります。
また、自分でタスクを作成することが可能となっています。
今回はSEEDファイルをファイル名を指定して実行させたいので、まずはコマンドでファイルを作成しました。
$ rails g task seed
これでlib/tasks/seed.rake
が生成されるのでこのファイルに処理を書きます。
以下が記述したコードです。
desc "db/seeds/ ディレクトリからシードデータを読み込む"
task "db:seed:#{File.basename(file).gsub(/\..+$/, '')}" => :environment do
load(file)
end
end
まずdb/seeds
ディレクトリを作成し、そこにSEEDファイルを追加していきます。
そして、$ rake db:seed: ファイル名 を実行する事により実行出来ます。
同じ事をやりたい人はいる様で、調べると色々記事が出てきて実装出来ました。
ただ、SEEDファイルを作るのがまた大変でした……
次回はカテゴリーデータを用意する所を書きたいと思います。
ここまで読んでくださり、ありがとうございました。
ツイッターで日々の学習をつぶやいています