2012-07-06 1 views
0

내 문제는 내가 테스트하고있는 데이터를 넣고 테스트 할 데이터베이스를 만들기로 결정했다는 것입니다. 모든 것이 정상적으로 보일 때마다 데이터를 "공식"데이터베이스로 마이그레이션합니다. 여기에서 다른 테스트 DB를 마이그레이션 할 계획입니다.테스트 데이터베이스를 메인 데이터베이스로 가져 오기

문제는 하위 테이블입니다. 나는 가지고있다 :

Table1:   Table2:   Child: 
- id    -id    -idTable1 
- name   -name   -idTable2 
- url   -type   -quantity 

Table1과 Table2를 마이그레이션하려면 "공식"데이터베이스에서 temporaryID를 생성하려고 생각했다. "Child"테이블을 마이그레이션하려는 경우, 모든 단일 행을 확인하고 해당하는 새 ID로 업데이트하는 것이 좋습니다. 더 좋은 방법이 없습니까?

나는 또한 단순히 테스트 DB를 잊어 버리고 "공식적인"DB 만 사용한다고 생각했지만, 실수 할 때마다 처음부터 다시 시작해야하는 것을 두려워하고 있습니다.

나는 여기에 몇 가지 예를 보았지만 생각보다 훨씬 복잡해 보인다.

답변

0

2 (또는 그 이상) 데이터베이스에서 중복 ID를 피하기를 원하지 않는다면 에 "auto-increment-increment"및 "auto-increment-offset"에 대해 읽어야합니다.

서버 (1)가있는 경우 : 1,5,9,13 ...

및 제 2 서버는

처럼 configed : 해당 서버에 생성
auto-increment-increment      = 4 
auto-increment-offset       = 1 

다음 ID 번호는 것입니다

가되게합니다
auto-increment-increment      = 4 
auto-increment-offset       = 2 

2 서버의 ID 번호 는 데이터를 복사 할 ALOW

.. 2,6,10,14 될 것입니다 , 서버 사이의 ID 번호를 포함하여

+0

만약 내가 두 개의 테스트 DB를 가지고 있으면 좋겠지 만, 내가 얼마나 많은지는 모르겠다. : ( – maugch

+0

예를 들어 최대 4 개의 구성에 대한 것이기 때문에 자동 증가 증가를 100, 1000 이상으로 설정할 수 있습니다 :-) –