처음으로 프로덕션 환경에 배포 할 준비가 된 많은 마이그레이션 파일이있는 응용 프로그램이 있다고 가정 해 봅니다. 아직 db : schema :로드가 db : 마이그레이션 작업에 어떻게 영향을 미치는지
db:migrate
을 실행하고 모든 마이그레이션을 통해 그것을주기를 가지고 -
- A - : 내가 이해에서, 나는 프로덕션 서버에 DB를 얻기 위해 기본적으로 두 가지 옵션이 있습니다
schema.rb
주석에 설명 된대로 내가, B 신선한 구축에 최적의 선택이 될 것입니다 알고db:schema:load
실행하고 스키마 파일
에서 DB를 구축 있습니다
# If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
내가 궁금해하는 점은 이것이 프로덕션 서버의 마이그레이션에 어떤 영향을 미치나요? 예를 들어, 다음 순서로 수행 할 경우 :
- 새 프로덕션 서버에서
db:schema:load
을 실행합니다. - 개발중인 내 스키마를 변경하고 프로덕션으로 푸시하십시오. 프로덕션 서버
에
db:migrate
은 어떻게됩니까? db:schema:load
작업보다 최근의 마이그레이션 만 사용하는지 또는 모든 작업을 실행하려고합니까?
그리고 당신은 단순히 그 몇 가지 명령을 실행하여 자신을 확인하는 것에 대해 생각하지 않았습니까? –
@MichaelSzyndel - 누가 내가 그것에 대해 생각하지 않는다고 했습니까? – Yarin
귀하의 질문은 그렇습니다. 만약 당신이 그게 괜찮아요 (일만명 마이 그 레이션 db 테이블이'schema : load' 중에 채워져있는 한 실제로 보지 못했을 것입니다) –