[php] Laravel에서 마이그레이션을 안전하게 제거

Laravel에는 마이그레이션을 생성하되 제거하지는 않는 명령이있는 것으로 보입니다.

마이그레이션 명령을 작성하십시오.

php artisan migrate:make create_users_table

마이그레이션을 삭제하려면 데이터베이스 / 마이그레이션 폴더 내의 해당 마이그레이션 파일을 안전하게 삭제할 수 있습니까?

마이그레이션 파일 :

2013_05_31_220658_create_users_table



답변

실수로 이름이 잘못된 마이그레이션을 생성했습니다 (명령 🙂 php artisan migrate:make. 나는 실행되지 않았다 ( php artisan migrate나는 그것을 제거하기로 결정, 그래서) 마이그레이션을. 내 단계 :

  1. 아래에서 마이그레이션 파일을 수동으로 삭제 app/database/migrations/my_migration_file_name.php
  2. 작성기 자동로드 파일을 재설정하십시오. composer dump-autoload
  3. 편하게 하다

마이그레이션 ( php artisan migrate)을 실행 한 경우 다음을 수행 할 수 있습니다.

a) 실행 migrate:rollback-마지막 마이그레이션을 취소하는 올바른 방법입니다 (Thnx @Jakobud)

b)의 경우 migrate:rollback이전 버전의 롤백) :하지 작업을 수행, 그것은 수동 (I 마이그레이션와 버그를 기억하십시오

  1. 아래에서 마이그레이션 파일을 수동으로 삭제 app/database/migrations/my_migration_file_name.php
  2. 작성기 자동로드 파일을 재설정하십시오. composer dump-autoload
  3. 데이터베이스 수정 : 마이그레이션 테이블 에서 마지막 항목 제거

답변

마이그레이션이 실행 된 경우 (읽기 : 마이그레이션 됨) 마이그레이션을 롤백하여 데이터베이스 테이블에서 히스토리를 지우십시오. 롤백되면 마이그레이션 파일을 안전하게 삭제 한 후 다시 마이그레이션을 진행할 수 있습니다.


답변

 php artisan migrate:fresh

개발 중이고 원하는 결과가 처음부터 시작되는 경우 작업을 수행해야합니다.

프로덕션 환경에서는 원하는 것이 아닐 수 있으므로 광고해야합니다. migrate : fresh 명령은 데이터베이스에서 모든 테이블을 삭제 한 다음 migrate 명령을 실행합니다.


답변

마이그레이션 테이블에서 항목을 삭제해야 할 수도 있습니다.


답변

실수로 create_users_table을 두 번 만들었습니다. 일부 클래스를 무시하고 롤백을 ErrorException으로 바꿨습니다.

당신이해야 할 일은 vendor / composer 폴더에서 autoload_classmap.php를 찾고 다음과 같은 특정 코드 줄을 찾으십시오.

'CreateUsersTable' => $baseDir . '/app/database/migrations/2013_07_04_014051_create_users_table.php',

경로를 편집하십시오. 그런 다음 롤백이 양호해야합니다.


답변

현재 답변에 동의합니다. 정보를 조금만 추가하고 싶습니다.

단일 마이그레이션을 취소 할 수 있는 새로운 기능이 Laravel 5.3 이상 버전 에 추가되었습니다 .

php artisan migrate:rollback --step=1

그런 다음 아래에서 마이그레이션 파일을 수동으로 삭제하십시오. database/migrations/my_migration_file_name.php

마이그레이션을 실행할 때 유용한 기능입니다.

이러한 방식으로 2 단계만으로 laravel에서 마이그레이션을 안전하게 제거 할 수 있습니다.


답변

차라리 수동으로하겠습니다

  1. 더 이상 모델이 필요하지 않은 경우 먼저 모델을 삭제하십시오.
  2. ...database/migrations폴더 에서 마이그레이션 삭제
  3. 이미 마이그레이션 한 경우 (예 : 이미 실행 php artisan migrate한 경우) phpmyadmin 또는 SQL (있는 경우) 및 데이터베이스에 로그인하여 마이그레이션으로 작성된 테이블을 삭제하십시오.
  4. 여전히 데이터베이스 내 마이그레이션 폴더에서 해당 마이그레이션 파일 이름을 가진 행을 찾아 삭제하십시오.

나를 위해 일하고, 그것이 도움이되기를 바랍니다!