管理者用のdeviseユーザーを作成 で、モデル名.ymlを設置すれば、投入されるようにseeds.rbを書きましたが、環境毎(例えば、開発環境のみ)にという場合もあるので、seeds.rbを書き換えます。
パラメータ追加したりだと事故の原因になるので、環境変数名のパスに設置するようにします。

seeds.rbを改修

db/seeds.rbの9行目辺りのを変更
変更前

Dir.glob("#{Rails.root}/db/seed/*.yml").each do |filename|
  puts 'filename: ' + filename

  target_model = File.basename(filename, '.yml').classify.constantize
  puts 'model: ' + target_model.to_s

  File.open(filename) do |file_contents|
    yaml_contents = YAML.safe_load(file_contents)
    yaml_contents.each do |yaml_record|
      id = yaml_record['id']

      if target_model.find_by(id: id)
        puts 'id: ' + id.to_s + ' ... Skip create'
        next
      end

      puts 'id: ' + id.to_s + ' ... Create'
      target_model.create(yaml_record)
    end
  end
end

変更後

paths = ['', "#{Rails.env}/"]
paths.each do |path|
  Dir.glob("#{Rails.root}/db/seed/#{path}*.yml").each do |filename|
    puts 'filename: ' + filename
    # こっちの方が見やすいので変更
    puts "filename: #{filename}"

    target_model = File.basename(filename, '.yml').classify.constantize
    puts 'model: ' + target_model.to_s
    puts "model: #{target_model}"

    File.open(filename) do |file_contents|
      yaml_contents = YAML.safe_load(file_contents)
      yaml_contents.each do |yaml_record|
        id = yaml_record['id']

        if target_model.find_by(id: id)
          puts 'id: ' + id.to_s + ' ... Skip create'
          puts "id: #{id} ... Skip create"
          next
        end

        puts 'id: ' + id.to_s + ' ... Create'
        puts "id: #{id} ... Create"
        target_model.create(yaml_record)
      end
    end
  end
end

開発環境のみ初期ユーザーをseedで作成

下記は、開発環境(development)ですが、
本番のみにしたい場合は、productionに設置してあげればOK。

db/seed/development/users.ymlを作成

- id: 1
  email: user1@mydomain
  password: changepassword
- id: 2
  email: user2@mydomain
  password: changepassword
$ rake db:seed
filename: db/seed/admin_users.yml
model: AdminUser
id: 1 ... Skip create
filename: db/seed/development/users.yml
model: User
id: 1 ... Create
id: 2 ... Create

【参考】ここまでのコミット内容
https://dev.azure.com/nightonly/rails-app-origin/_git/rails-app-origin/commit/254c5635a3ddcd1cbcb8f016788b4330acbbc6de

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です