之前我发过这个问题,但我还没有找到解决问题的答案。因此,我正在重新提出这个问题。
我正在使用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的一部分。我不确定这可能是导致问题的原因。我很确定不是。
答案 0 :(得分:1)
seeds.rb
应该在存储库中,以便rails
为其播种。如果没有seeds.rb
,则rails
不会抱怨文件丢失,而是只完成rake db:seed
任务而不会出现任何错误。
因此,请务必从seeds.rb
中删除.gitignore
,将其git
添加到git add --force db/seeds.rb
并将git push
添加到存储库。