저는 Rails를 처음 사용합니다. Rails 5에서 데이터 마이그레이션을 생성 할 때 일부 사람들 rails db:migrate
은 rake db:migrate
. 누군가가 데이터베이스 마이그레이션에서 rails와 rake 명령의 차이점을 설명 할 수 있습니까? 레이크 명령이 레일 5에서 더 이상 사용되지 않음을 의미합니까?
많은 감사
답변:
Rails 핵심 팀은 Rails 명령이 레이크가 수행하는 모든 작업을 지원할 수 있도록하여 일관성을 유지하기로 결정했습니다.
5 개 명령이 원하는 레일, 예를 들어 db:migrate
, db:setup
, db:test
레일은 레일 명령 등의 퀴 명령의 일부인 4 현재 지원되고있다. 그러나 여전히 rake를 사용하여 Rails 4에서 실행 된 것과 유사한 명령을 실행하도록 선택할 수 있습니다. 이는 Rails 커뮤니티가 rake에서 rails로 명령 옵션을 완전히 이동하는 대신 Rake Proxy를 도입했기 때문입니다.
내부적으로 일어나는 일은 rails db:migrate
명령이 실행될 때 Rails가 Rails가 db:migrate
기본적으로 지원하는 것이 있는지 여부를 확인하는 것입니다. 이 경우 db:migrate
Rails에서 기본적으로 지원되지 않으므로 Rails는 Rake Proxy를 통해 실행을 Rake에 위임합니다.
Rails 5의 rails에서 지원하는 모든 명령을 보려면 다음을 실행하여 긴 옵션 목록을 얻을 수 있습니다. rails --help.
rake dev:cache
, rake notes
및 rake routes
. 그들은 레일 6.1에서 제거 될 예정입니다