2017-10-11 1 views
1

내가 명령Laravel 내가 생산에있어 이후 나는 Laravel 내 배포 일상의 한 부분으로 사용하고

RUN php artisan migrate

이 프로덕션 서버에서 마이그레이션, 나는 오류를 얻을

생산중인 응용 프로그램, 명령 취소됨!

해결 방법은 쉽습니다. RUN php rankbot/artisan migrate --force하지만이 방법이 적절하지 않다고 생각합니까? DB 스키마가 항상 최신 상태인지 확인하는 가장 좋은 방법은 무엇입니까?

+0

을 사용'--force'을 할 수있는 올바른 방법입니다. '--force' 플래그는 실수로 프로덕션 환경에서 마이그레이션을 수행하는 것을 방지합니다. 2 개의 ssh 터미널을 열어 놓은 것처럼. –

답변

8

이것은 올바른 방법입니다.

프로덕션 환경에서 마이 그 레이션을 실행할 때 일부 작업은 롤백 할 수 없으므로 데이터베이스에 어떤 작업을 수행하는지 확인해야합니다.

확인 프롬프트은 잠재적으로 해를 입히기 전에 두 번 멈추고 생각하게합니다.

일부 마이그레이션 작업은 파괴적이므로 일부 사용자가 데이터를 잃을 수도 있습니다. 프로덕션 데이터베이스에 대해 명령을 실행하지 못하게하려면 명령을 실행하기 전에 확인 메시지가 나타납니다. 프롬프트없이 실행 명령 을 강제로 --force 플래그 https://laravel.com/docs/5.5/migrations#running-migrations

관련 문제