2017-12-10 23 views
0

Drupal 7을 사용하면 컨텐츠 유형에 관계없이 사용중인 모든 이미지를 식별하는 SQL 문이 필요합니다. 이미지는 모두 노드 본문에 포함되며 게시되지 않은 또는 수정 된 수정본이 아닌 게시 ​​된 이미지에만 관심이 있습니다.노드 내의 모든 이미지를 식별하는 SQL 쿼리?

어디서부터 시작해야할까요? SQL 쿼리 (또는 Drush 명령) 여야합니다. 우리는 Drupal 모듈에서 그것을 할 수 없습니다. 왜냐하면 우리는 사이트의 배포 창 밖에 있기 때문입니다. 즉, 모듈을 작성했다면 모듈을 필요로하는 프로덕션 서버에 배치하기까지 적어도 2 주가 소요될 것입니다 이것을 실행합니다. 은 prod 서버에서 SQL 액세스 권한을 갖습니다. 우리는 개발자가 아닌 시스템 팀입니다.

미리 감사드립니다.

+0

"모든 이미지"는 무엇을 의미합니까? "이미지"필드 형식의 모든 필드 또는 다른 뭔가? 보기 모듈 사용을 고려하십시오 -이를 달성하는 것이 훨씬 쉬울 것입니다. – MilanG

+0

@milanG - 우리는 배포 창이 아니므로보기 모듈을 사용할 수 없습니다 (프로덕션 서버에서는보기 UI가 비활성화 됨). 지금은 'body'필드의 'img'태그를 찾고 있습니다. – PeteCon

답변

0

모든 drupaler가 "body"필드 (1)를 알고 있다는 의미에서 "노드 본문"을 의미합니까, 아니면 "노드가 저장하는 모든 것이 있습니까?"(2)?

  1. 드루팔 기본 노드 본문 필드 긴 텍스트 필드와 이미지는 일반 <img> 태그로도 배치 할 수 있습니다. 그 이미지들이 당신이 필요로하는 것이라면 당신은 field_data_body 테이블을 질의 할 필요가 있습니다. video_embed_field과 같은 contrib 모듈을 사용하여 이미지 및 기타 객체를 포함시킬 수도 있습니다. 임베디드 데이터를 어떻게 저장하는지 잘 모르겠습니다.

  2. 그런 경우 먼저 모든 이미지 필드를 찾아야합니다. field_config 테이블을 참조하여 모든 필드 및 유형 목록을 확인할 수 있습니다. 그런 다음 모든 필드 (각 필드는 별도의 테이블)에서 값을 쿼리 할 수 ​​있습니다.

간단한 사이트의 경우 비교적 쉬운 작업이지만 고급 설정을 사용하면 그 도로에서 많은 충돌을 발견 할 수 있습니다.

+0

감사합니다. 그게 나에게 어떤 길을 제시해 줬어. 결국 노드의 모든 것을 찾아야하지만 실제로는 실제 본문 필드가 시작점이됩니다. – PeteCon