여러 개발자가 참여하는 프로젝트를 진행하면서 DVCS를 사용하고 있으므로 각 개발자는 할당 된 지사에서 작업하게됩니다. 즉, 기능 브랜치는 최신 develop
브랜치에서 분기됩니다. develop
지점에서 DatabaseHandler
의 DB 버전Android : DB 버전 제어
개인 정적 최종 INT의 DATABASE_VERSION = 2이고;
내 지사 지점에서는 새 테이블을 만들어야합니다. 그래서 버전을 3으로 늘려야하기 때문에 CREATE_APPLIANCE_TABLE
문을 실행하려면 onUpgrade
에 다음을 포함시킬 수 있습니다.
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.d("Database onUpgrade", "Old is: " + oldVersion + ". New is: " + newVersion);
switch(oldVersion) {
case 1:
db.execSQL(CREATE_USER);
case 2:
db.execSQL(CREATE_APPLIANCE_ACTIVITY); // for version 3
}
}
다른 개발자가 새 테이블을 만들어야하는 경우 어떻게해야합니까? 그는 자신의 지형지 물 지점의 버전을 3으로 늘리나요? 그렇다면 우리 중 어느 한쪽 또는 양쪽이 우리 지형지 물을 닫고 develop
에 병합 할 때 다음 단계가되어야합니까? 우리 모두가 같은 파일을 편집했기 때문에 충돌의 가능성이 있습니다. 그래서 develop
지점에서 버전을 3시에 유지 하시겠습니까?
미리 감사드립니다. :)
그렇다면 두 파일을 모두 '개발'에 병합하면 데이터베이스 버전이 3이 될 것입니다. 처음에는'개발'에서 2입니다. 그러나 우리의 개별 기능에서, 우리는 우리의 기능을 위해 1 개의 새로운 테이블을 추가해야하기 때문에 3으로 증가했습니다. –
둘 다 3이라면 3이 될 것입니다. 3이 될 것입니다.하지만 2로 만들면 그는 3으로 만듭니다. 3 –
그래, 우리는 모두 onUpgrade가 실행되도록 3으로 만들었습니다. 좋아, 도와 줘서 고마워! –