rails db : migrate 대 rake db : migrate


79

저는 Rails를 처음 사용합니다. Rails 5에서 데이터 마이그레이션을 생성 할 때 일부 사람들 rails db:migraterake db:migrate. 누군가가 데이터베이스 마이그레이션에서 rails와 rake 명령의 차이점을 설명 할 수 있습니까? 레이크 명령이 레일 5에서 더 이상 사용되지 않음을 의미합니까?

많은 감사

답변:


160

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:migrateRails에서 기본적으로 지원되지 않으므로 Rails는 Rake Proxy를 통해 실행을 Rake에 위임합니다.

Rails 5의 rails에서 지원하는 모든 명령을 보려면 다음을 실행하여 긴 옵션 목록을 얻을 수 있습니다. rails --help.


Rails 4 프로젝트에서 새로운 구문을 사용하는 방법이 있는지 아십니까?
Greg Blass

@GregBlass 사용하기 위해 레일 5의 모듈을 레일 4에 포함시킬 수 있습니다. 그러나 나는 당신이 rails 5 구문을 사용할 수 있다고 생각하지 않습니다.
Vishal

4
Rails 6은 rake-commands를 더 이상 사용하지 않습니다. 그들 중 적어도 일부; rake dev:cache, rake notesrake routes. 그들은 레일 6.1에서 제거 될 예정입니다
프레데릭 던지기에게
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.