다음 튜토리얼 칼럼인 Laravel에서는 laravel의 향상된 스키마 데이터 마이그레이션에 대해 소개하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!
개념:
회사의 프로젝트를 재구성할 때 데이터 테이블을 추가하기 위해 마이그레이션 클래스를 생성할 때마다 새로운 삭제된_at, 생성된_at, 업데이트된_at, last_operater, last_operater_id를 지정해야 합니다.
이 5가지 필드에는 각 행의 삭제 시간, 새 시간, 수정 시간, 마지막 운영자 이름 및 마지막 운영자 ID가 기록됩니다.
1 $app['db_extra'] 서비스 컨테이너가 이 객체를 얻는 방법을 정의하려면 /providers/ 아래에 db 서버 공급자를 추가하세요.
3 아래 그림 2의 내용을 분석하세요. ->single 인스턴스는 그림 3과 같이 db_extra 클래스를 생성하는 데 사용되는 팩토리 클래스입니다. 이 팩토리 클래스는 다음 그림에 배치됩니다.
4 그런 다음 이 팩토리 클래스를 분석하고 의 생산 팩토리를 상속합니다. 예를 들어, 이번에는 연결된 mysql 서비스 연결 개체인 경우 그림 4
5와 같이 내가 정의한 msyql 연결 개체를 인스턴스화하도록 합니다. , 이 MysqlExtraConnection.php 클래스에서는 상위 클래스의 메소드를 다시 재정의합니다. 새 마이그레이션 클래스를 추가하는 명령을 실행하면 정의한 마이그레이션 템플릿에 따라 마이그레이션 파일이 생성됩니다.
6. , 정의 그림 6
7과 같이 기본적으로 새 필드를 추가하려고 합니다. 다음으로 아래 두 번째 그림에서 MigrationCreatorExt는 삽입에 따라 달라집니다. 이 클래스는 어떤 용도로 사용되나요? 새로 추가된 마이그레이션 파일 8에 문자를 출력하는데 사용됩니다.9. 그 중 create.stub 템플릿에는 아래와 같이 생성된 템플릿과 수정된 템플릿이 있습니다. default 내가 정의한 Schema 클래스를 호출하고, 기본적으로 추가된 필드를 메모해 두세요. 구성이 조금 번거롭지만 확장하기는 정말 쉽습니다. 그렇죠? 댓글로 토론해 보세요 ㅎㅎ
위 내용은 laravel의 향상된 스키마 데이터 마이그레이션 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!