migrateをrails_env=test で行ってもrspecでdbの中が空です。
何が原因なのでしょうか?
developでは問題ありません。
database.ymlここに言語を入力
1test: 2<<: *default 3database: myapp_test
docker
1 2version: "3" 3 4services: 5 web: 6 build: web 7 ports: 8 - "3000:3000" 9 environment: 10 - "DATABASE_HOST=db" 11 - "DATABASE_PORT=5432" 12 - "DATABASE_USER=postgres" 13 - "DATABASE_PASSWORD=mysecretpassword1234" 14 volumes: 15 - "./app:/app" 16 stdin_open: true 17 18 db: 19 image: postgres:10.1 20 ports: 21 - "5432:5432" 22 environment: 23 - "POSTGRES_USER=postgres" 24 - "POSTGRES_PASSWORD="
この情報だけで答えられる人はたぶんいません。最低限docker-compose.ymlの中身を貼りましょう。
何の回答にもなってないですが、こちらの内容をもとにDockerfileとdocker-compose.ymlを作り直されたほうが早いかもしれません。
https://docs.docker.com/compose/rails/
RAILS_ENV=testでマイグレーションの場合、テーブルはできると思いますがデータは入りません。
そういう意味ではなく、データベースに何もない(テーブルもできない)という意味でしょうか?
また、RSpecの間はデータが入ったとしても、(設定次第ではありますが)テストが全て済んだらtruncateやdeleteが走って中身はなくなったかと思います。
あなたの回答
tips
プレビュー