2016-11-10 7 views
1

모델 파일에서 데이터베이스를 여러 번 성공적으로 업데이트했지만 모델을 기존 데이터베이스로 전달하거나 데이터베이스와 동기화하려고하면 트리거가 연결된 테이블 (새 모델 우리를위한 것)은 업데이트되지 않습니다. 전진 엔지니어링은이 테이블에 대해 아무 작업도 수행하지 않으며, 동기화에서 변경 사항이 감지되었음을 나타내는 화살표가 없습니다 (필드가 추가됨). 다른 누구도이 문제에 부딪 혔습니까? 나는 그물을 망쳐 놓고 답을 찾으려고 노력했다. 해결 방법이 있지만 추가 작업이 많이 필요합니다.Workbench 모델 동기화/전달 엔지니어의 가능한 버그?

여기 예제 : 테이블 tbl_wbselements가 필드를 추가했지만 Workbench가 필드를 추가하지 않습니다. 이것은 트리거가있는 테이블에서만 발생하는 것 같습니다. 트리거가없는 테이블, SP, 뷰, 새 테이블은 모두 ForEng로 보이며 잘 동기화됩니다.

답변

1

이것은 해결되었습니다. 트리거가있는 여러 테이블에 영향을 미친 것은 우연의 일치였습니다. 문제는 테이블 디자이너가 여러 개의 외래 키 필드를 테이블에 추가하고 "Nullable"이 아닌 기본값을 설정했기 때문입니다. 따라서 Workbench가 필드를 삽입하려고 시도 할 때 외부 테이블에 기존 레코드가 있음을 발견하고 필드를 널로 남겨 둘 수 없으므로 새 필드를 건너 뜁니다.

Workbench가 이런 일이 발생했을 때 일종의 경고를하고 싶습니다.이 문제를 해결하기 위해 이틀간의 조사가 필요했기 때문에 (우연히 발견되었습니다). 나는 다른 사람들도 이런 유형의 것으로 붙잡 혔을 것이라고 확신한다.

0

당신은 왕 이십니다! 고맙습니다! 테스트에 몇 시간이 걸렸지 만이 대답을 찾지 못했습니다. "Null이 아님"을 선택 취소하고 동기화를 다시 실행했습니다 ... et Voila! 고맙습니다.