Có rất nhiều cuộc thảo luận ở đây và ở những nơi khác về việc sử dụng cơ sở dữ liệu bên ngoài trong Drupal. Những gì tôi đã tìm ra từ đó là:
- Cách tốt nhất để làm việc với dữ liệu trong bảng cơ sở dữ liệu là sử dụng mô-đun Lượt xem. Tôi đã cài đặt nó và bắt đầu sử dụng nó và thấy thật tuyệt khi làm việc với một bảng mà tôi đã thêm vào cơ sở dữ liệu của trang web.
- Cách dễ dàng để khiến Lượt xem hoạt động với bảng không được tạo bởi Drupal là với mô-đun Dữ liệu. Mô-đun này xử lý bất kỳ bảng nào trong cơ sở dữ liệu trang web không được Drupal sử dụng như một "bảng mồ côi" và cho phép nó được "thông qua" chỉ với một nút bấm.
- Mô-đun "Trình hướng dẫn bảng" rõ ràng cung cấp một cách để làm điều đó với các bảng không có trong cơ sở dữ liệu của trang web. Nhưng mô-đun đó không có sẵn cho Drupal 7.
- Tệp "settings.php", trong phần "Cài đặt cơ sở dữ liệu" có tài liệu chi tiết về cách xác định cơ sở dữ liệu bổ sung mà trang web có thể làm việc. Nhưng khi cơ sở dữ liệu được xác định theo cách đó, các bảng của nó không hiển thị trong danh sách các bảng mồ côi trong mô-đun Dữ liệu.
Thay đổi mà tôi đã thực hiện đối với định nghĩa cơ sở dữ liệu trong tệp cài đặt của chế độ cơ sở dữ liệu trên một trong các trang web của tôi là:
$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' => '',
), ), );
Tôi có một bảng mà tôi muốn sử dụng ở nhiều trang trong quá trình cài đặt nhiều trang của mình. Điều này có nghĩa là tôi cần phải có bảng trong cơ sở dữ liệu có thể truy cập được cho mỗi trang web. Theo bài đọc tôi đã thực hiện, các lựa chọn của tôi để làm điều đó là:
- Tốt nhất, nếu có thể: Tìm hiểu rằng có một cách để mô-đun Dữ liệu nhận ra các bảng trong cơ sở dữ liệu bổ sung được xác định trong "settings.php", để nó có thể áp dụng chúng.
- Sử dụng tiền tố bảng để cho phép tất cả các trang web sử dụng một cơ sở dữ liệu.
- Mô-đun báo cáo Forena báo cáo dường như làm chính xác những gì tôi cần, nhưng khi tôi cài đặt nó, tôi không thể làm cho nó hoạt động được. Tôi đã gửi vấn đề 2475645 và không thể làm gì nhiều hơn ở đó trừ khi có cách khắc phục vấn đề đó.
- Viết mô-đun của riêng tôi để cấp cho Lượt truy cập vào cơ sở dữ liệu bổ sung được xác định trong "settings.php".
- Cài đặt Drupal 6 với Trình hướng dẫn bảng và sử dụng để có Chế độ xem để xem bảng bên ngoài của tôi, sau đó bằng cách nào đó lấy kết quả của nó và đưa nó vào Drupal 7. (Điều này đã được đề xuất trong một số bài đăng.)
- Thực hiện theo quy trình trong https://drupal.stackexchange.com/a/3321/45991 , bắt đầu bằng việc cài đặt một bản vá và dường như cũng yêu cầu tạo mô-đun của riêng tôi.
- Tôi cũng đã xem xét các mô-đun Nguồn cấp dữ liệu, Nguồn cấp dữ liệu SQL, Chế độ xem cuối XML và Di chuyển, nhưng không ai trong số họ nói rằng họ có thể kết nối một db bên ngoài với Chế độ xem. Tui bỏ lỡ điều gì vậy? Là một trong số họ là giải pháp đúng đắn?
Tùy chọn 2 là không thực tế vì nó sẽ dẫn đến một cơ sở dữ liệu khổng lồ với hàng trăm bảng sẽ rất khó quản lý. Tôi đã đạt được tiến bộ lớn khi bắt đầu sử dụng Drupal, nhưng tôi không cảm thấy nhiệm vụ của 4, 5 hoặc 6. Có khả năng nào đó giống như tùy chọn 1 hoạt động không? Hoặc có cách nào khác để khiến Lượt xem hoạt động với một bảng bên ngoài cơ sở dữ liệu trang web mà không thể viết mô-đun của riêng tôi không?
Hai chi tiết bổ sung: Bảng đầu tiên tôi cần làm việc khá lớn, hơn 6.000 hàng và khoảng 20 cột. Không có ý định cung cấp cho khách truy cập vào trang web quyền truy cập vào cơ sở dữ liệu ngoại trừ thông tin được rút ra từ đó cho nội dung trang.
Cảm ơn bạn đã giúp đỡ.