Ruby on rails 数据库连接错误?使用Postgres

Ruby on rails 数据库连接错误?使用Postgres,ruby-on-rails,ruby,postgresql,Ruby On Rails,Ruby,Postgresql,我试图在测试环境中使用Rspec运行测试,但我的数据库是空的,显然当我运行db:seed命令时,它会显示出来 > $ rake RAILS_ENV=test db:seed > Warning: method `create` already defined > Warning: method `update` already defined environment --> 1.050000 > 0.240000 1.290000 ( 1.5061

我试图在测试环境中使用Rspec运行测试,但我的数据库是空的,显然当我运行db:seed命令时,它会显示出来

> $ rake RAILS_ENV=test db:seed 
> Warning: method `create` already defined
> Warning: method `update` already defined   
environment -->   1.050000 > 0.240000   1.290000 (  1.506180)   
db:load_config -->   0.010000   0.010000   0.020000 (  0.009816)   
db:abort_if_pending_migrations -->   0.010000   0.000000   0.010000 (  0.030057)
db:seed -->   1.070000   0.250000   1.320000 (  1.547370)
如果我检查我的种子文件,它都是空的。假设我创建了一个包含Coin的数据库,如果我这样运行它:

> $ rails c Running via Spring preloader in process 4229 Loading test
> environment (Rails 5.1.4) 
[1] pry(main)> Coin.all   Coin Load (0.5ms) 
> SELECT "coins".* FROM "coins"
> => []
里面什么都没有。不管我跑什么,我说

$ rake db:migrate
Warning: method `create` already defined
Warning: method `update` already defined
  environment -->   1.030000   0.200000   1.230000 (  1.409833)
  db:load_config -->   0.010000   0.000000   0.010000 (  0.009251)
  db:schema:dump -->   0.020000   0.010000   0.030000 (  0.150969)
  db:_dump -->   0.020000   0.010000   0.030000 (  0.151114)
  db:migrate -->   0.040000   0.020000   0.060000 (  0.219740)
这就是我能得到的

它应该是什么样子的:

$ rails c
Warning: method `create` already defined
Warning: method `update` already defined
Running via Spring preloader in process 3940
Loading development environment (Rails 5.1.4)
[1] pry(main)> Coin.all
  Coin Load (2.8ms)  SELECT "coins".* FROM "coins"
=> [#<Coin:0x007ff5313aa4e8
  id: 1,
  coin_id: "btc",
  display_name: "Bitcoin",
  price_btc: "1",

但它只在开发环境中工作。我想让它在测试环境中工作。我将非常感谢所有的建议。谢谢

您可以从spec_helper.rb或您正在使用的任何工具运行种子耙任务,下面是一个示例:

YOU_AWESOME_APP::Application.load_tasks
Rake::Task['db:seed'].invoke