2017-05-21 1 views

답변

2

마이그레이션은 특정 순서로 적용되고 롤백됩니다. 따라서 임의 마이그레이션을 다시 적용하는 "적절한"방법은 없습니다. - 필요한 FK를 생성 후속 마이그레이션을 만들고 적용

  1. "앞으로 실패"어떤 경우

    는 적어도 두 가지 옵션이 있습니다. 이미 제작 중이라면 이것이 유일한 방법입니다. 당신이 개발의 초기 단계에 불과이야 그리고 당신은 데이터까지
  2. 롤백을 유지 있도록

    • 이 테이블을 덤프 할 수있는 마이그레이션 디렉토리를 부풀게하지 않습니다하지 않는 경우

    • 특정 이동

    • 수정 및
    • 덤프에서
    • 부하에게 데이터를 이전 마이그레이션 시험
+0

+1. 예, 개발 단계입니다. 저는 제 학기 프로젝트를 진행하고 있습니다. 저는 laravel을 처음 사용하기 때문에 포인트 번호 2를 얻었습니다. 포인트 번호 1을 자세히 설명해 주시겠습니까? –

+0

누락 된 FK를 추가하고 데이터베이스를 이전하는 새 마이그레이션을 만드십시오. – peterm

+0

감사. 나는 그것을 얻는다 :) 그것은 일했다!! –

1

불행하게도 테이블 당 기반으로 마이그레이션을 롤백 할 수있는 옵션이없는

사전 모두에 감사 Laravel 5.4입니다. step 매개 변수를 사용하여 최신 마이그레이션 또는 마지막 몇 가지 마이그레이션 만 롤백 할 수 있습니다.

하지만 정말로 필요한 경우를 대비해 해킹하는 방법이 있습니다. 마이그레이션 테이블의 batch 값을 롤백하려는 마이 그 레이션에 대한 가장 최근의 마이 그 레이션보다 큰 수로 설정할 수 있습니다. 이 때 php artisan migrate:rollback을 호출하면 batch 값이 지정된 특정 마이그레이션 파일 만 롤백됩니다.

+0

laravel 명령을 통해 배치 번호를 설정하는 방법 또는 수동으로 이동해야합니까? 배치 번호가 설정된 경우 어떤 명령을 cmdprpmt/terminal에서 실행해야합니까? 미리 감사드립니다. –

+0

db에서 수동으로 배치 번호를 설정해야하며 현재 최고 값보다 높은 숫자를 설정해야합니다. 완료되면 정상적인 롤백 명령을 실행하여 'php artisan migrate : rollback'을 롤백 할 수 있습니다. 'php artisan migrate : rollback --pretend'를 실행하여 배치 값을 변경 한 후에 영향을받는 마이그레이션을 확인할 수도 있습니다 – Sandeesh

관련 문제