[英]Database connectivity error? Using Postgres
我正在嘗試在測試環境中使用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
或您正在使用的任何程序運行種子耙任務, spec_helper.rb
是一個示例:
YOU_AWESOME_APP::Application.load_tasks
Rake::Task['db:seed'].invoke
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.