> 백엔드 개발 > PHP 튜토리얼 > Laravel의 마이그레이션은 무엇입니까?

Laravel의 마이그레이션은 무엇입니까?

百草
풀어 주다: 2025-03-20 18:34:41
원래의
118명이 탐색했습니다.

Laravel의 마이그레이션은 무엇입니까?

Laravel의 마이그레이션은 데이터베이스의 버전 제어 유형입니다. 이를 통해 개발자는 SQL 문을 수동으로 작성하지 않고 PHP 코드를 사용하여 데이터베이스의 구조를 관리하고 수정할 수 있습니다. 마이그레이션은 일련의 점진적인 단계에서 데이터베이스 스키마 변경 사항을 정의하는 방법을 제공하므로 다양한 환경과 팀 구성원에서 데이터베이스 구조 변경을보다 쉽게 ​​수정하고 공유 할 수 있습니다.

Laravel의 마이그레이션은 본질적으로 Framework에서 제공하는 기본 Migration 클래스를 확장하는 PHP 클래스입니다. 이 클래스에는 두 가지 주요 방법이 포함되어 있습니다 : up down . up 메소드는 새 테이블 생성 또는 열을 추가하는 것과 같이 'UP'을 마이그레이션 할 때 취할 작업을 정의하는 반면 down 메소드는 테이블을 떨어 뜨리거나 열을 제거하는 것과 같은 변경 사항을 반전시키는 방법을 정의합니다.

마이그레이션이 Laravel의 데이터베이스 스키마 변경을 관리하는 데 어떻게 도움이 될 수 있습니까?

마이그레이션은 여러 가지 방법으로 Laravel의 데이터베이스 스키마 변경을 관리하는 데 도움이됩니다.

  1. 버전 제어 : 마이그레이션은 데이터베이스 스키마의 버전 제어 시스템 역할을합니다. 코드의 변경 사항을 추적하면 시간이 지남에 따라 데이터베이스가 어떻게 진화했는지에 대한 이력을 유지할 수 있습니다.
  2. 협업 : 마이그레이션을 통해 팀이 프로젝트에서 더 쉽게 협력 할 수 있습니다. 개발자는 데이터베이스 변경이 필요할 수있는 다양한 기능에서 작업 할 수 있으며 이러한 변경 사항은 마이그레이션 파일을 통해 다른 사람과 쉽게 병합되고 공유 될 수 있습니다.
  3. 일관성 : 마이그레이션을 사용하면 모든 환경 (개발, 준비, 생산)이 동일한 스키마를 갖도록합니다. 이로 인해 다양한 환경에서 스키마 불일치로 인해 발생하는 오류의 위험이 줄어 듭니다.
  4. 롤백 : 마이그레이션을 사용하면 문제가 발생하면 변경을 롤백 할 수 있습니다. 즉, 데이터베이스의 이전 상태로 쉽게 되돌릴 수 있습니다. 이는 개발 및 테스트 단계에서 특히 유용합니다.
  5. 자동화 : 배포 프로세스의 일부로 마이그레이션을 자동으로 실행하여 인적 오류 가능성을 줄이고 데이터베이스 스키마가 항상 최신 상태인지 확인합니다.

Laravel에서 마이그레이션을 만들고 실행하는 과정은 무엇입니까?

Laravel에서 마이그레이션을 만들고 실행하는 과정에는 몇 가지 단계가 포함됩니다.

  1. 마이그레이션 만들기 : 새로운 마이그레이션을 만들려면 make:migration Artisan Command를 사용할 수 있습니다. 예를 들어, users 라는 새 테이블을 추가하는 마이그레이션을 만들려면 다음을 실행합니다.

     <code>php artisan make:migration create_users_table</code>
    로그인 후 복사

    이 명령은 database/migrations 디렉토리에 새 PHP 파일을 만듭니다.

  2. 마이그레이션 파일 편집 : 새로 생성 된 파일을 열고 스키마 변경 사항을 정의하기 위해 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>
    로그인 후 복사
  3. 마이그레이션 실행 : 데이터베이스에 변경 사항을 적용하려면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿