无法使用heroku在生产中播种数据

时间:2016-06-22 00:30:44

标签: ruby-on-rails ruby heroku

之前我发过这个问题,但我还没有找到解决问题的答案。因此,我正在重新提出这个问题。

我正在使用heroku来部署我的rails应用程序。我试图通过运行命令heroku run rake db:seed.在生产中播种一些数据然而,该命令不起作用。我无法在生产中播种文件。 seeds.rb文件如下所示。

#This file should contain all the record creation needed to seed the database with its default values.
#The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).

#Examples:

  #cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
  #Mayor.create(name: 'Emanuel', city: cities.first)

#end


    5.times do              
    Scoreboard.create!(name_of_scoreboard: "scoreboard_abc",
                      name_of_organization: "abcdef",
                      name_of_activity: "ghijklmn",
                      user_id: 1,
                      states: "state",
                      country: "state",
                      cities: "state")
    end

$ heroku运行rake db:seed     在⬢应用程序上运行rake db:seed,运行.4751       ActiveRecord :: SchemaMigration Load(2.0ms)SELECT" schema_migrations"。* FROM" schema_migrations"

我运行heroku restart但是对象没有播种到生产数据库中。我已经尝试在开发中播种这个文件,它完美无缺。我不确定是什么错。

heroku logs -t文件如下所示。

2016-06-22T00:50:58.882699+00:00 heroku[api]: Starting process with command `bundle exec rake db:seed` by *******@gmail.com
2016-06-22T00:51:07.986301+00:00 heroku[run.1041]: Awaiting client
2016-06-22T00:51:08.026539+00:00 heroku[run.1041]: Starting process with command `bundle exec rake db:seed`
2016-06-22T00:51:08.157630+00:00 heroku[run.1041]: State changed from starting to up
2016-06-22T00:51:12.891248+00:00 heroku[run.1041]: State changed from up to complete
2016-06-22T00:51:12.881329+00:00 heroku[run.1041]: Process exited with status 0

我有database.yml文件和seeds.rb文件作为gitignore的一部分。我不确定这可能是导致问题的原因。我很确定不是。

1 个答案:

答案 0 :(得分:1)

seeds.rb应该在存储库中,以便rails为其播种。如果没有seeds.rb,则rails不会抱怨文件丢失,而是只完成rake db:seed任务而不会出现任何错误。

因此,请务必从seeds.rb中删除.gitignore,将其git添加到git add --force db/seeds.rb并将git push添加到存储库。