공통 빌딩 블록 > 데이터베이스 연결 빌딩 블록 > 데이터베이스 활동 > 데이터베이스 정보 및 데이터베이스 스키마 동기화
데이터베이스 정보 및 데이터베이스 스키마 동기화
빌딩 블록에 지정된 데이터베이스 정보에 대한 업데이트를 데이터베이스 스키마와 동기화할 수 있습니다. 예를 들어, 외래 키를 추가하거나, 데이터 모델의 엔티티에 사용자 정의 속성을 추가하거나, 데이터 모델에 새 엔티티를 추가한 후 데이터베이스 정보를 데이터베이스 스키마와 동기화하면 새 정보가 데이터베이스 스키마에 추가됩니다. 동기화 서비스는 PTC.Base.Manager 사물의 DefaultGlobalManagerConfiguration 구성 테이블에 지정된 각 관리자의 GetDBInfo 서비스에 지정된 데이터베이스 정보를 확인합니다.
이 동기화 서비스는 GetDBInfo 서비스에 지정된 데이터 셰이프와 데이터베이스 정보를 데이터베이스의 스키마와 모두 비교하고 둘 사이의 차이를 식별합니다. PTC.DBConnection.Manager 사물의 ValidateDBSchema 서비스는 검토를 위해 모든 차이점 목록을 출력합니다. PTC.DBConnection.Manager 사물의 UpdateDBSchema 서비스는 데이터베이스 정보에 지정되었지만 데이터베이스 스키마에는 아직 없는 새 테이블, 열, 색인화된 필드 또는 외래 키를 추가합니다. 업데이트 서비스는 데이터베이스 스키마에 새 정보만 추가합니다. 그 어떠한 데이터베이스의 기존 데이터 또는 데이터베이스 스키마에 이미 있는 모든 정보도 이 업데이트 서비스에 의해 업데이트되거나 제거되지 않습니다. 열 길이 또는 데이터 유형이 변경되지 않으며, 테이블, 열, 색인 또는 외래 키도 제거되지 않습니다. 이러한 차이는 사용자의 편의를 위해 동기화 서비스의 출력에 보고됩니다. 데이터베이스 관리자는 필요에 따라 데이터베이스에 이러한 변경 작업을 수동으로 수행할 수 있습니다.
데이터베이스 정보와 데이터베이스 스키마를 동기화하려면 다음 단계를 완료합니다.
1. 데이터베이스 정보를 업데이트합니다. 자세한 내용은 외래 키 추가 또는 제거, 데이터 모델 엔티티에 사용자 정의 속성 추가데이터 모델에 사용자 정의 엔티티 추가 항목을 참조하십시오.
2. PTC.DBConnection.Manager 사물로 이동합니다.
3. 서비스에서 ValidateDBSchema 서비스를 실행합니다. 서비스의 출력은 데이터베이스 스키마와 데이터 셰이프, 그리고 관리자 사물의 데이터베이스 정보 간의 모든 차이가 나열된 인포테이블입니다. 서비스의 출력을 검토하여 차이가 예상한 것과 같은지 확인합니다. 아무런 차이가 발견되지 않으면 인포테이블에 "데이터 없음"이라고 표시됩니다.
4. 서비스에서 UpdateDBSchema 서비스를 실행합니다. 서비스 출력은 새 테이블, 열, 색인화된 필드 또는 외래 키와 같이 데이터베이스 스키마에 성공적으로 추가된 모든 정보를 나열하는 인포테이블입니다. 모든 실패 역시 인포테이블에 나열됩니다.
도움이 되셨나요?