>  기사  >  PHP 프레임워크  >  laravel의 향상된 스키마 데이터 마이그레이션 정보

laravel의 향상된 스키마 데이터 마이그레이션 정보

藏色散人
藏色散人앞으로
2020-09-01 13:24:401818검색

다음 튜토리얼 칼럼인 Laravel에서는 laravel의 향상된 스키마 데이터 마이그레이션에 대해 소개하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!

laravel의 향상된 스키마 데이터 마이그레이션 정보

개념:

회사의 프로젝트를 재구성할 때 데이터 테이블을 추가하기 위해 마이그레이션 클래스를 생성할 때마다 새로운 삭제된_at, 생성된_at, 업데이트된_at, last_operater, last_operater_id를 지정해야 합니다.
이 5가지 필드에는 각 행의 삭제 시간, 새 시간, 수정 시간, 마지막 운영자 이름 및 마지막 운영자 ID가 기록됩니다.

그러면 내가 직접 복사하여 붙여넣을 필요 없이 자동으로 해당 필드를 생성하도록 할 수 있나요? 코드? 가끔은 잊어버리기도 해요! !

    처음: Schema 기능 강화, 즉 원래 마이그레이션 파일 생성 명령을 추가합니다: php artisan make:migration 이 기능을 강화했지만, Composer가 laravel-admin을 설치하면 많은 마이그레이션 파일이 생성되는 것을 발견했습니다. 갈등 문제.
  • 두 번째: 이 충돌 문제를 해결하기 위해 두 번째 테스트를 진행했습니다. 원래 명령에서는 Schema의 기능을 강화할 수 없으므로 php artisan make:app_migration
명령을 추가해 보겠습니다. 단, 다음과 같습니다. 2차 시험에 대한 설명입니다.

1 $app['db_extra'] 서비스 컨테이너가 이 객체를 얻는 방법을 정의하려면 /providers/ 아래에 db 서버 공급자를 추가하세요.

laravel의 향상된 스키마 데이터 마이그레이션 정보3 아래 그림 2의 내용을 분석하세요. ->single 인스턴스는 그림 3과 같이 db_extra 클래스를 생성하는 데 사용되는 팩토리 클래스입니다. 이 팩토리 클래스는 다음 그림에 배치됩니다.

laravel의 향상된 스키마 데이터 마이그레이션 정보4 그런 다음 이 팩토리 클래스를 분석하고 의 생산 팩토리를 상속합니다. 예를 들어, 이번에는 연결된 mysql 서비스 연결 개체인 경우 그림 4

laravel의 향상된 스키마 데이터 마이그레이션 정보

5와 같이 내가 정의한 msyql 연결 개체를 인스턴스화하도록 합니다. , 이 MysqlExtraConnection.php 클래스에서는 상위 클래스의 메소드를 다시 재정의합니다. 새 마이그레이션 클래스를 추가하는 명령을 실행하면 정의한 마이그레이션 템플릿에 따라 마이그레이션 파일이 생성됩니다.

laravel의 향상된 스키마 데이터 마이그레이션 정보

6. , 정의 그림 6

laravel의 향상된 스키마 데이터 마이그레이션 정보

7과 같이 기본적으로 새 필드를 추가하려고 합니다. 다음으로 아래 두 번째 그림에서 MigrationCreatorExt는 삽입에 따라 달라집니다. 이 클래스는 어떤 용도로 사용되나요? 새로 추가된 마이그레이션 파일

laravel의 향상된 스키마 데이터 마이그레이션 정보

laravel의 향상된 스키마 데이터 마이그레이션 정보

8에 문자를 출력하는데 사용됩니다.

laravel의 향상된 스키마 데이터 마이그레이션 정보

laravel의 향상된 스키마 데이터 마이그레이션 정보9. 그 중 create.stub 템플릿에는 아래와 같이 생성된 템플릿과 수정된 템플릿이 있습니다. default 내가 정의한 Schema 클래스를 호출하고, 기본적으로 추가된 필드를 메모해 두세요. 구성이 조금 번거롭지만 확장하기는 정말 쉽습니다. 그렇죠? 댓글로 토론해 보세요 ㅎㅎ

위 내용은 laravel의 향상된 스키마 데이터 마이그레이션 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제