カスタムシードファイルの追加
2023-09-04 02:33:19
質問
新しい機能にダミーデータを投入したいのですが、db/seeds.rb ファイルはすでにこの機能に無関係な他のデータを持っているので、使用したくありません。
デフォルトの
seeds.rb
ファイルを実行するには、コマンド
rake db:seed
.
にファイルを作成すると
db
というディレクトリに
seeds_feature_x.rb
というディレクトリで、そのファイルを実行する(だけ)には、rakeコマンドはどのように見えるでしょうか?
どのように解決するのですか?
カスタムシードを格納するための別のディレクトリを作成することから始めます - この例では
db/seeds
. 次に、カスタムタスクを作成するために、rakefile を
lib/tasks
ディレクトリに追加します。
# lib/tasks/custom_seed.rake
namespace :db do
namespace :seed do
Dir[Rails.root.join('db', 'seeds', '*.rb')].each do |filename|
task_name = File.basename(filename, '.rb')
desc "Seed " + task_name + ", based on the file with the same name in `db/seeds/*.rb`"
task task_name.to_sym => :environment do
load(filename) if File.exist?(filename)
end
end
end
end
この rakefile は、シードファイルの名前を
db/seeds
ディレクトリにある種ファイルの名前を受け取ります (ただし
.rb
拡張子を除く) を作成し、それを
seeds.rb
. コマンドラインから以下を実行することで、rake タスクを実行することができます。
rake db:seed:file_name # Name of the file EXCLUDING the .rb extension
更新: 現在、シードタスクのリストも表示されます。
rake --tasks
または
rake -T
.
関連
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み] Railsでpng画像を文字列形式で表示するには?
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] "render :nothing => true" は空のプレーンテキストファイルを返すのですか?
-
[解決済み] RubyとRailsの "Date.today "フォーマット
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?
-
[解決済み] 未初期化の定数 "コントローラ名"
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】修正方法:エラー:'<ファイル名>'にチェックアウトされたコミットがない fatal: コマンドプロンプトで "git add ." を入力するとファイルの追加に失敗する
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Ruby on rails アプリで ES6 (ES2015) を使用するにはどうすればよいですか?
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。
-
[解決済み] Railsコンソール:リロード!モデルファイルの変更が反映されない?考えられる理由は何でしょうか?