【Docker】 schema.rb가 없다, 만들어도 내용이 없다,에서 해결
소개
Rails(API) ✕ Docker의 환경에서 개발을 진행해 나가는 가운데, 테이블의 구조를 확인하기 위해, schema.rb를 확인하는 것도 존재하지 않았다.
원인을 모르고, 엄청 살았지만 어떻게든 해결할 수 있었으므로, 정리해 둔다.
schema.rb가 작성되는 타이밍
rails db:migrate
한 타이밍에 정상이면db/schema.rb
및 DB 디렉토리 바로 아래에 만들어집니다.
"schema.rb 없음"에서 검색하여 발견 한,
【덤】rails db:schema:dump 로 db/schema.rb 작성
이 기사를 참고로 하겠습니다.rails db:schema:dump
하지만, 자신의 환경에서 작성된 것은 내용이 비어있는 `schema.rb'이었다.
Docker 컨테이너 내에서 파일이 있는지 확인
docker-compose run api bash
에서 Docker 컨테이너에 들어가,cd db
에서 DB 디렉토리로 이동하고 ls
migrate schema.rb seeds.rb
이었다. .
왜 VScode상이 아닌가, 라고 생각해 재기동하는 것도 역시 없다.
원인 · 해결
docker-compose.yml의 볼륨을 쓰는 법을 잘못했습니다.
docker-compose.ymlvolumes:
- .:/my_app
- .:/app
- ./app
했기 때문에 로컬 호스트 기계와 Docker 컨테이너의 변경이 동기화되지 않은 상태였습니다.
volumes를 작성하는 방법에 대해
(마침표)가 docker-compose
를 수행 한 현재 디렉토리를 나타내며 : (콜론) 사이의 오른쪽에 Docker 컨테이너의 경로를 작성하여 동기화됩니다.
[ホスト機のパス]: [Dockerコンテナ内でのパス]
라는 형태로 하는 것으로, 로컬의 프로젝트 디렉토리를 어태치, Docker의 컨테이너가 기동(docker-compose)할 때에 현재를 본다=로컬의 프로젝트 디렉토리를 본다고 하는 설정을 실시할 수 있다.
반대로 :(コロン)
를 사용하지 않고,
volumes:
- /home/vagrant/opt/mysql:/var/lib/mysql
등의 형태로
호스트 머신의 디렉토리는 아니고, Docker 안에서 volume 영역을 만들어, 그것을 어태치 하는 형태가 되어, 로컬의 호스트 머신과 Docker 컨테이너의 변경은 동기화되지 않는다.
끝에.
끝까지 읽어 주셔서 감사합니다 
전직을 위해, 미경험의 상태로부터 Rails를 학습하고 있습니다. 올바른 지식을 꾸준히 착용하고 실력 있는 엔지니어가 되고 싶습니다. 계속해서 투고해 나가는 가운데, 그 때문에의 인풋도 필연적으로 늘어나, 성장에 연결될까라고 생각하고 있습니다.
지금 현재, 초보자라고 해서 변명은 할 수 없습니다만, 투고의 내용에 잘못되어 있는 곳이나, 덧붙여야 할 곳이 많이 있을까 생각하므로, 지적 받을 수 있으면 다행입니다. 이 기사를 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(【Docker】 schema.rb가 없다, 만들어도 내용이 없다,에서 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/waniwaninowani/items/65e07d601dcba03bb245
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
rails db:migrate
한 타이밍에 정상이면db/schema.rb
및 DB 디렉토리 바로 아래에 만들어집니다."schema.rb 없음"에서 검색하여 발견 한,
【덤】rails db:schema:dump 로 db/schema.rb 작성
이 기사를 참고로 하겠습니다.
rails db:schema:dump
하지만, 자신의 환경에서 작성된 것은 내용이 비어있는 `schema.rb'이었다.Docker 컨테이너 내에서 파일이 있는지 확인
docker-compose run api bash
에서 Docker 컨테이너에 들어가,cd db
에서 DB 디렉토리로 이동하고 ls
migrate schema.rb seeds.rb
이었다. .
왜 VScode상이 아닌가, 라고 생각해 재기동하는 것도 역시 없다.
원인 · 해결
docker-compose.yml의 볼륨을 쓰는 법을 잘못했습니다.
docker-compose.ymlvolumes:
- .:/my_app
- .:/app
- ./app
했기 때문에 로컬 호스트 기계와 Docker 컨테이너의 변경이 동기화되지 않은 상태였습니다.
volumes를 작성하는 방법에 대해
(마침표)가 docker-compose
를 수행 한 현재 디렉토리를 나타내며 : (콜론) 사이의 오른쪽에 Docker 컨테이너의 경로를 작성하여 동기화됩니다.
[ホスト機のパス]: [Dockerコンテナ内でのパス]
라는 형태로 하는 것으로, 로컬의 프로젝트 디렉토리를 어태치, Docker의 컨테이너가 기동(docker-compose)할 때에 현재를 본다=로컬의 프로젝트 디렉토리를 본다고 하는 설정을 실시할 수 있다.
반대로 :(コロン)
를 사용하지 않고,
volumes:
- /home/vagrant/opt/mysql:/var/lib/mysql
등의 형태로
호스트 머신의 디렉토리는 아니고, Docker 안에서 volume 영역을 만들어, 그것을 어태치 하는 형태가 되어, 로컬의 호스트 머신과 Docker 컨테이너의 변경은 동기화되지 않는다.
끝에.
끝까지 읽어 주셔서 감사합니다 
전직을 위해, 미경험의 상태로부터 Rails를 학습하고 있습니다. 올바른 지식을 꾸준히 착용하고 실력 있는 엔지니어가 되고 싶습니다. 계속해서 투고해 나가는 가운데, 그 때문에의 인풋도 필연적으로 늘어나, 성장에 연결될까라고 생각하고 있습니다.
지금 현재, 초보자라고 해서 변명은 할 수 없습니다만, 투고의 내용에 잘못되어 있는 곳이나, 덧붙여야 할 곳이 많이 있을까 생각하므로, 지적 받을 수 있으면 다행입니다. 이 기사를 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(【Docker】 schema.rb가 없다, 만들어도 내용이 없다,에서 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/waniwaninowani/items/65e07d601dcba03bb245
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
migrate schema.rb seeds.rb
docker-compose.yml의 볼륨을 쓰는 법을 잘못했습니다.
docker-compose.yml
volumes:
- .:/my_app
- .:/app
- ./app
했기 때문에 로컬 호스트 기계와 Docker 컨테이너의 변경이 동기화되지 않은 상태였습니다.volumes를 작성하는 방법에 대해
(마침표)가
docker-compose
를 수행 한 현재 디렉토리를 나타내며 : (콜론) 사이의 오른쪽에 Docker 컨테이너의 경로를 작성하여 동기화됩니다.[ホスト機のパス]: [Dockerコンテナ内でのパス]
라는 형태로 하는 것으로, 로컬의 프로젝트 디렉토리를 어태치, Docker의 컨테이너가 기동(docker-compose)할 때에 현재를 본다=로컬의 프로젝트 디렉토리를 본다고 하는 설정을 실시할 수 있다.반대로
:(コロン)
를 사용하지 않고, volumes:
- /home/vagrant/opt/mysql:/var/lib/mysql
등의 형태로
호스트 머신의 디렉토리는 아니고, Docker 안에서 volume 영역을 만들어, 그것을 어태치 하는 형태가 되어, 로컬의 호스트 머신과 Docker 컨테이너의 변경은 동기화되지 않는다.
끝에.
끝까지 읽어 주셔서 감사합니다

전직을 위해, 미경험의 상태로부터 Rails를 학습하고 있습니다. 올바른 지식을 꾸준히 착용하고 실력 있는 엔지니어가 되고 싶습니다. 계속해서 투고해 나가는 가운데, 그 때문에의 인풋도 필연적으로 늘어나, 성장에 연결될까라고 생각하고 있습니다.
지금 현재, 초보자라고 해서 변명은 할 수 없습니다만, 투고의 내용에 잘못되어 있는 곳이나, 덧붙여야 할 곳이 많이 있을까 생각하므로, 지적 받을 수 있으면 다행입니다. 이 기사를 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(【Docker】 schema.rb가 없다, 만들어도 내용이 없다,에서 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/waniwaninowani/items/65e07d601dcba03bb245텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)