답변:
실수로 이름이 잘못된 마이그레이션을 생성했습니다 (명령 :) php artisan migrate:make
. 나는 실행되지 않았다 ( php artisan migrate
나는 그것을 제거하기로 결정, 그래서) 마이그레이션을. 내 단계 :
app/database/migrations/my_migration_file_name.php
composer dump-autoload
마이그레이션 ( php artisan migrate
)을 실행 한 경우 다음을 수행 할 수 있습니다.
a) 실행 migrate:rollback
-마지막 마이그레이션을 취소하는 올바른 방법입니다 (Thnx @Jakobud)
b)의 경우 migrate:rollback
이전 버전의 롤백) :하지 작업을 수행, 그것은 수동 (I 마이그레이션와 버그를 기억하십시오
app/database/migrations/my_migration_file_name.php
composer dump-autoload
migrate:rollback
마이그레이션을 롤백 한 다음 마이그레이션 파일을 삭제하고 자동로드를 덤프합니다. DB 또는 마이그레이션 테이블을 해킹 할 필요가 없습니다.
마이그레이션이 실행 된 경우 (읽기 : 마이그레이션 됨) 마이그레이션을 롤백하여 데이터베이스 테이블에서 히스토리를 지우십시오. 롤백되면 마이그레이션 파일을 안전하게 삭제 한 후 다시 마이그레이션을 진행할 수 있습니다.
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에서 마이그레이션을 안전하게 제거 할 수 있습니다.
차라리 수동으로하겠습니다
...database/migrations
폴더 에서 마이그레이션 삭제php artisan migrate
한 경우) phpmyadmin 또는 SQL (있는 경우) 및 데이터베이스에 로그인하여 마이그레이션으로 작성된 테이블을 삭제하십시오.나를 위해 일하고, 그것이 도움이되기를 바랍니다!