정보 콘텐츠 및 액세스 권한 사용자 정의 > 데이터베이스 활동 > 데이터베이스 정보 및 데이터베이스 스키마 동기화
데이터베이스 정보 및 데이터베이스 스키마 동기화
ThingWorx Apps에 지정된 데이터베이스 정보에 대한 업데이트를 데이터베이스 스키마와 동기화할 수 있습니다. 예를 들어, 외래 키를 추가하거나, Operator Advisor의 엔티티에 사용자 정의 속성을 추가하거나, 데이터 모델에 새 엔티티를 추가한 후 데이터베이스 정보를 데이터베이스 스키마와 동기화하면 새 정보가 데이터베이스 스키마에 추가됩니다. 동기화 서비스는 시작 지점 구성 사물(PTC.Factory.C_LaunchPointConfigurationThing_[ReleaseVersion])의 ManagerConfigurationSettings 구성 테이블에 지정된 각 관리자에서 GetDBInfo 서비스에 의해 호출되는 서비스에 지정되는 데이터베이스 정보를 확인합니다.
예를 들어, Operator Advisor 데이터 모델의 엔티티의 경우 PTC.SCA.SCO.DefaultProductionOrderManagerGetDBInfo 서비스는 GetJobOrderDBInfoGetWorkDefinitionDBInfo를 포함하는 서비스를 호출합니다.
이 동기화 서비스는 Get<entity>DBInfo 서비스에 지정된 데이터 셰이프와 데이터베이스 정보를 데이터베이스의 스키마와 모두 비교하고 둘 사이의 차이를 식별합니다. ValidateDBSchema 서비스는 검토를 위해 모든 차이 목록을 출력합니다. UpdateDBSchema 서비스는 데이터베이스 정보에 지정되었지만 데이터베이스 스키마에는 아직 없는 새 테이블, 열, 색인화된 필드 또는 외래 키를 추가합니다. 업데이트 서비스는 데이터베이스 스키마에 새 정보만 추가합니다. 그 어떠한 데이터베이스의 기존 데이터 또는 데이터베이스 스키마에 이미 있는 모든 정보도 이 업데이트 서비스에 의해 업데이트되거나 제거되지 않습니다. 열 길이 또는 데이터 유형이 변경되지 않으며, 테이블, 열, 색인 또는 외래 키도 제거되지 않습니다. 이러한 차이는 사용자의 편의를 위해 동기화 서비스의 출력에 보고됩니다. 데이터베이스 관리자는 필요에 따라 데이터베이스에 이러한 변경 작업을 수동으로 수행할 수 있습니다.
데이터베이스 정보와 데이터베이스 스키마를 동기화하려면 다음 단계를 완료합니다.
1. ThingWorx Apps 내에서 데이터베이스 정보를 업데이트합니다. 자세한 내용은 외래 키 추가 또는 제거, Operator Advisor 엔티티에 사용자 정의 속성 추가Operator Advisor 데이터 모델에 사용자 정의 엔티티 추가 항목을 참조하십시오.
2. PTC.SCA.SCO.DatabaseManager 사물로 이동합니다.
3. 서비스에서 ValidateDBSchema 서비스를 실행합니다. 서비스의 출력은 데이터베이스 스키마와 데이터 셰이프, 그리고 ThingWorx AppsOperator Advisor의 데이터베이스 정보 간의 모든 차이가 나열된 인포테이블입니다. 서비스의 출력을 검토하여 차이가 예상한 것과 같은지 확인합니다. 아무런 차이가 발견되지 않으면 인포테이블에 "데이터 없음"이라고 표시됩니다.
4. 서비스에서 UpdateDBSchema 서비스를 실행합니다. 서비스 출력은 새 테이블, 열, 색인화된 필드 또는 외래 키와 같이 데이터베이스 스키마에 성공적으로 추가된 모든 정보를 나열하는 인포테이블입니다. 모든 실패 역시 인포테이블에 나열됩니다.