AWS의 rails:db seed에 반한 일과 처리 방법
AWS의 rails:db seed에 반한 일과 처리 방법
배경.
AWS의 응용 프로그램이 로컬 환경에서 rails db:seed를 실행한 후 다음 오류가 발생했습니다.
푹 빠졌으니까 일단 기록해 둬.
*오류는 AWS에 task-app라는 Role이 없는 오류입니다.MAC: XXX$ bundle exec rails db:seed RAILS_ENV=production
rails aborted!
ActiveRecord::NoDatabaseError: FATAL: role "task-app" does not exist
카탈로그
MAC: XXX$ bundle exec rails db:seed RAILS_ENV=production
rails aborted!
ActiveRecord::NoDatabaseError: FATAL: role "task-app" does not exist
작업 환경
OS : macOS Mojave 10.14.6
ruby : 2.6.3p62
rails : 5.2.4
결론
AWS에서다음 동작을 실행하여seed 데이터를 생성합니다.
aws
bundle exec rails db:seed RAILS_ENV=production
날과 씨
AWS에서는 task-app 이름으로 롤이 제작되고 데이터베이스도 제작되고 있다.
이 때문에 왜 만들어진 캐릭터 이름에 로르 도스 노트 exist 오류와 원인이 생겨 격투를 벌이는지 알 수 없다.
까닭
정비원에게 확인한 곳
AWS의 데이터베이스 seed 실행은 AWS의 데이터베이스를 구현하고 작성해야 합니다.
따라서 AWS에 로그인해서 rails 명령을 실행해야 합니다.
Heroku라면 Heroku 명령에 따라 Heroku의 사이트에 가서 데이터베이스를 만들지만 AWS의 경우 스스로 로그인해서 실행해야 한다.
로컬, Heroku, AWS의 데이터베이스는 원래 만들어진 곳이 완전히 다르다.
즉, 로컬 환경에서 공식 환경의 데이터베이스 조작을 하려는 데 오류가 발생한 것이다.
Heroku는 로컬 환경으로 구성되어 있기 때문에 AWS도 로컬 환경에서 진행할 수 있다고 생각합니다.
실제로 현지 환경의 작용을 확인했는데task-app라는 캐릭터의 이름은 없었다.
끝말
이번 일을 통해 다음과 같은 것을 배웠다.
1. AWS 데이터베이스에 대한 작업을 AWS에 로그인하여 수행
2. 로컬 환경·AWS 환경 데이터베이스의 역할이 같지 않음
Reference
이 문제에 관하여(AWS의 rails:db seed에 반한 일과 처리 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/j-sunaga/items/a8e66aca02ea20ac7498텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)