

以下のサイトでも質問済みですが、回答がないためこちらでも質問いたします。  
<https://discuss.rubyonrails.org/t/rake-db-seed-cant-connect-to-remote-
db/83827>

# 再現手順

## database.yaml

AWS RDSを使用しています。

[code]

    # database.yml
    staging:
      primary:
        adapter: postgis
        encoding: utf8
        database: app_db
        pool: 5
        username: user
        password: <passwd>
        host: <remote_host>
        port: 5432
    
[/code]

## db作成

コンテナのシェルに入り、`rake db:create:primary, rake
db:migrate:primary`を実行してデータベースを作成しました。

## seedの実行

`rake db:seed`を実行したところ以下のようなエラーが出ました。

[code]

    rake aborted!
    ActiveRecord::ConnectionNotEstablished: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    
    Caused by:
    PG::ConnectionBad: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    Tasks: TOP => db:abort_if_pending_migrations
    
[/code]

`db:abort_if_pending_migrations`がローカルを参照していてタスクが落ちます。  
`db:abort_if_pending_migrations:primary`というタスクもありこちらを手動で実行した場合は成功しています。

rake aboutで`staging`が使用されていることを確認済みです。  
なぜ、RDSを参照できないのでしょうか？

# 環境

Ruby 3.0.6p216  
Rails 6.1.7.4


CC BY-SA 4.0
2023-10-02T08:01:00.087
96405
2023-10-05T17:04:10.200
2023-10-05T17:04:10.200
3060
57866
question
ruby-on-rails ruby
RAILS_ENVを設定しているのに`rake db:seed`実行時にローカルを参照して失敗する