Laravel의 마이그레이션은 데이터베이스의 버전 제어 유형입니다. 이를 통해 개발자는 SQL 문을 수동으로 작성하지 않고 PHP 코드를 사용하여 데이터베이스의 구조를 관리하고 수정할 수 있습니다. 마이그레이션은 일련의 점진적인 단계에서 데이터베이스 스키마 변경 사항을 정의하는 방법을 제공하므로 다양한 환경과 팀 구성원에서 데이터베이스 구조 변경을보다 쉽게 수정하고 공유 할 수 있습니다.
Laravel의 마이그레이션은 본질적으로 Framework에서 제공하는 기본 Migration
클래스를 확장하는 PHP 클래스입니다. 이 클래스에는 두 가지 주요 방법이 포함되어 있습니다 : up
down
. up
메소드는 새 테이블 생성 또는 열을 추가하는 것과 같이 'UP'을 마이그레이션 할 때 취할 작업을 정의하는 반면 down
메소드는 테이블을 떨어 뜨리거나 열을 제거하는 것과 같은 변경 사항을 반전시키는 방법을 정의합니다.
마이그레이션은 여러 가지 방법으로 Laravel의 데이터베이스 스키마 변경을 관리하는 데 도움이됩니다.
Laravel에서 마이그레이션을 만들고 실행하는 과정에는 몇 가지 단계가 포함됩니다.
마이그레이션 만들기 : 새로운 마이그레이션을 만들려면 make:migration
Artisan Command를 사용할 수 있습니다. 예를 들어, users
라는 새 테이블을 추가하는 마이그레이션을 만들려면 다음을 실행합니다.
<code>php artisan make:migration create_users_table</code>
이 명령은 database/migrations
디렉토리에 새 PHP 파일을 만듭니다.
마이그레이션 파일 편집 : 새로 생성 된 파일을 열고 스키마 변경 사항을 정의하기 위해 up
메소드 down
편집하십시오. 예를 들어, users
테이블을 만들려면 up
메소드가 다음과 같습니다.
<code class="php">public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }</code>
down
방법은 이러한 변경 사항을 반전해야합니다.
<code class="php">public function down() { Schema::dropIfExists('users'); }</code>
마이그레이션 실행 : 데이터베이스에 변경 사항을 적용하려면 migrate
Artisan 명령을 사용하십시오.
<code>php artisan migrate</code>
이 명령은 모든 계류중인 마이그레이션의 up
메소드를 실행하여 데이터베이스 스키마를 그에 따라 업데이트합니다.
그렇습니다. Laravel의 마이그레이션은 롤백 될 수 있습니다. 이 기능은 최근 스키마 변경을 취소해야 할 때 개발 중에 특히 유용합니다. 마지막 마이그레이션을 롤백하려면 rollback
Artisan 명령을 사용할 수 있습니다.
<code>php artisan migrate:rollback</code>
이 명령은 가장 최근의 마이그레이션의 down
메소드를 실행하여 데이터베이스에 대한 변경 사항을 뒤집습니다.
여러 마이그레이션을 롤백 해야하는 경우 --step
옵션을 사용하여 롤백으로 롤백 할 마이그레이션 수를 지정할 수 있습니다. 예를 들어, 마지막 세 가지 마이그레이션을 롤백하려면 다음을 수행합니다.
<code>php artisan migrate:rollback --step=3</code>
Laravel은 마이그레이션을 롤백하는 것 외에도 migrate:reset
Command를 제공하며 모든 마이그레이션을 롤백합니다.
<code>php artisan migrate:reset</code>
이것은 모든 마이그레이션을 취소하고 데이터베이스를 초기 상태로 남겨 둡니다. 모든 마이그레이션을 롤백 한 다음 모든 마이그레이션을 다시 실행하려면 migrate:refresh
를 사용할 수 있습니다.
<code>php artisan migrate:refresh</code>
이는 migrate:reset
다음 migrate
것과 같습니다.
위 내용은 Laravel의 마이그레이션은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!