Drupal에서 외부 데이터베이스를 사용하는 것에 대한 여기와 다른 곳에서 많은 토론이 있습니다. 내가 알아 낸 것은 다음과 같습니다.
- 데이터베이스 테이블에서 데이터를 다루는 가장 좋은 방법은보기 모듈을 사용하는 것입니다. 나는 그것을 설치하고 그것을 사용하기 시작했고 그것이 사이트 데이터베이스에 추가 한 테이블로 작업하기에 좋습니다.
- Drupal이 작성하지 않은 테이블을 사용하여 뷰를 작동시키는 쉬운 방법은 데이터 모듈을 사용하는 것입니다. 이 모듈은 Drupal에서 사용하지 않는 사이트 데이터베이스의 모든 테이블을 "고아 테이블"로 취급하고 버튼 클릭시 "적용"할 수 있도록합니다.
- "테이블 마법사"모듈은 사이트 데이터베이스에없는 테이블을 사용하여이를 수행하는 방법을 제공합니다. 그러나 Drupal 7에서는 해당 모듈을 사용할 수 없습니다.
- "데이터베이스 설정"섹션의 "settings.php"파일에는 사이트에서 사용할 수있는 추가 데이터베이스를 정의하는 방법에 대한 자세한 문서가 있습니다. 그러나 데이터베이스가 그런 식으로 정의되면 해당 테이블이 데이터 모듈의 고아 테이블 목록에 표시되지 않습니다.
내 사이트 중 하나의 "settings.php"파일에서 데이터베이스 정의를 변경 한 내용은 다음과 같습니다.
$databases = array (
'default' => array ('default' => array (
'database' => 'db_local',
'username' => 'db_local',
'password' => '_________',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
), ),
'extra' => array ('default' => array (
'database' => 'db__extra',
'username' => 'db_admin',
'password' => '_________,
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
), ), );
다중 사이트 설치에서 둘 이상의 사이트에서 사용하려는 테이블이 있습니다. 즉, 각 사이트에서 액세스 할 수있는 데이터베이스에 테이블이 있어야합니다. 내가 한 독서에 따르면, 그 일을위한 나의 선택은 다음과 같습니다
- 가능한 경우 가장 좋은 방법 : "settings.php"에 정의 된 추가 데이터베이스에서 데이터 모듈이 테이블을 인식하도록하는 방법이 있으므로이를 채택 할 수 있습니다.
- 모든 사이트에서 하나의 데이터베이스를 사용할 수 있도록 테이블 접두사를 사용하십시오.
- “ Forena Reports ” 모듈 은 내가 원하는 것을 정확하게하는 것처럼 보였지만 설치할 때 제대로 작동하지 못했습니다. 문제 2475645를 제출 했으며 해당 문제에 대한 해결책이 없으면 더 이상 할 수 없습니다.
- "settings.php"에 정의 된 추가 데이터베이스에 대한보기 액세스 권한을 부여하는 자체 모듈을 작성하십시오.
- Drupal 6을 테이블 마법사와 함께 설치하고 뷰를 사용하여 외부 테이블을 확인한 다음 결과를 가져 와서 Drupal 7에 넣습니다 (이것은 일부 게시물에서 제안되었습니다).
- https://drupal.stackexchange.com/a/3321/45991 의 절차를 따르십시오. 패치 설치로 시작하여 자체 모듈을 만들어야 할 것 같습니다.
- 또한 Feeds, Feeds SQL, Views XML Backend 및 Migrate 모듈을 살펴 보았지만 외부 db를 Views에 연결할 수 있다고 말하는 사람은 없습니다. 뭔가 빠졌습니까? 그들 중 하나가 올바른 해결책입니까?
옵션 2는 수백 개의 테이블이있는 거대한 데이터베이스를 만들어 관리하기 매우 어렵 기 때문에 실용적이지 않습니다. Drupal을 시작하는 데 큰 진전이 있었지만 4, 5 또는 6의 과제를 느끼지 못합니다. 옵션 1과 같은 가능성이 있습니까? 아니면 내 자신의 모듈을 쓰지 않고 사이트 데이터베이스 외부의 테이블에서 뷰를 작동시키는 다른 방법이 있습니까?
두 가지 추가 세부 정보 : 작업해야 할 첫 번째 테이블은 6,000 개가 넘는 열과 약 20 개의 열이 있습니다. 페이지 방문자를 위해 데이터베이스에서 가져온 정보를 제외하고 사이트 방문자에게 데이터베이스에 대한 액세스 권한을 부여 할 의도는 없습니다.
당신의 도움을 주셔서 감사합니다.