2014-12-15 5 views
1

하나의 연락처 유형 (개별)에 연결된 CiviCRM의 사용자 정의 필드 세트를 가져 와서 다른 연락처 유형 (조직)에 연결되도록 이동하려고합니다. 필드는 유사하지만 모두 동일하지는 않습니다.CiviCRM 사용자 정의 필드를 다른 연락처 유형으로 이동

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 새로 만든 사용자 정의 필드로 가져 오기 전에 사용자 정의 필드를 내보내고 CSV를 정리합니까?

INSERT INTO civicrm_value_org_stuff 
SELECT null as id, c.current_employer_id as entity_id, i.first_field as first_org_field, i.second_field as second_org_field ... 
FROM civicrm_value_ind_stuff i 
LEFT JOIN civicrm_contact c ON c.id = i.entity_id 
LEFT JOIN civicrm_value_org_stuff o ON c.current_employer_id = o.entity_id 
WHERE o.id is null AND c.current_employer_id is not null 

이미 대상 테이블의 정보가있을 경우 알아서해야하지만, 그렇지 않으면이 잘 작동합니다 :

+0

필드 자체 또는 개별 사용자 정의 필드 A, B 및 C의 내용을 조직 사용자 정의 필드 X, Y 및 Z로 이동 하시겠습니까? 후자의 경우, 어떤 개인이 어떤 조직에 해당하는지 어떻게 식별 할 것입니까? 마지막으로 –

+0

내용을 찾으십니까? 개인은 "조직의 직원"이므로 "현재 고용주 ID"를 사용하여 개인과 조직을 일치시킬 수 있기를 바랍니다. – Tenz

답변

1

가장 효율적인 방법은 바로 SQL을 통해 것입니다. 테이블 이름은 분명히 구성되어 있지만 "civicrm_value ..."로 시작하고 필드 이름은 분명해야합니다.

+0

감사합니다. 아마도 결국 여러 가지 방법을 조합하여 사용하게 될 것입니다. – Tenz