Git 분기 및 Yii2 데이터베이스 마이그레이션에 관한 간단한 질문. 개발 중에는 때로는 데이터베이스를 변경할 필요가 있습니다. 그런 다음 새 마이그레이션을 수행하고 모델 생성기를 실행하고 CRUD 생성기를 다시 실행합니다. 여기서 모든 컨트롤러, 모델 및 뷰 파일을 덮어 씁니다. 그런 다음 이전 코드를 새로 수동으로 병합합니다. 지루한 작업이지만 최소한 나는 무엇을 알고있다. 내가하고있는 일. 하지만, 나는 힘내있다. 나는 Git의 분기/병합 기능을 시도한 적이 없다. Model/CRUD 생성 코드가있는 새 분기를 으로 만든 다음 해당 분기를 마스터에 병합 할 수 있습니까? 이것의 논리적 인 단계는 무엇입니까?Yii2 마이그레이션 및 Git 분기
0
A
답변
1
짧은 대답은 - 예, 당신은 수 있습니다.
마이그레이션을 사용하면 다른 버전의 데이터베이스와 코드를 쉽게 만들 수 있습니다. 새 기능을 개발할 때 새 분기를 만듭니다. git checkout -b feature/new_table
, 그리고 그것에 작동합니다. 새 파일이
$ ./yii migrate/create create_featured_table_table
같은
새 데이터베이스 테이블을해야하는 경우
당신에게 create a new migration, 당신은 테이블을 생성하는 절차를 설명 -up()
그것을 제거하는 -
down()
.
up()
에 데이터베이스 상태가 추가로 변경되면 down()
기능으로 되돌려 야합니다.
마이그레이션이 준비되면 migrate/up
을 사용하여 변경 사항을 적용하고 CRUD 생성을 위해 새 테이블을 사용할 수 있습니다. 모든 변경 사항은 지점에만 있습니다.
데이터베이스가 이미 실제 상태이므로이 분기를 아무런 문제없이 마스터로 병합 할 수 있습니다.
하지만 변경 사항을 병합하지 않고 마스터 또는 다른 지점을 체크 아웃해야하는 경우 먼저 migrate/down
을 입력해야합니다. 이렇게하면 데이터베이스를 이전 상태로 설정하므로 현재 분기의 영향을받지 않습니다.
기능 분기로 돌아 오면 migrate/up
이 다시 나타나고 데이터베이스의 모든 변경 사항이 나타납니다.
감사합니다. 그렇습니다. 그럴듯하게 보입니다. 시도해볼 것입니다. –