Burada ve Drupal'da harici veritabanlarını kullanma konusunda çok fazla tartışma var. Bundan anladığım şey:
- Bir veritabanı tablosundaki verilerle çalışmanın en iyi yolu Views modülünü kullanmaktır. Bunu yükledim ve kullanmaya başladım ve sitenin veritabanına eklediğim bir tabloyla çalışmak için harika buldum.
- Views'ın Drupal tarafından oluşturulmamış bir tabloyla çalışmasını sağlamanın kolay yolu Veri modülüdür. Bu modül, site veritabanında Drupal tarafından kullanılmayan herhangi bir tabloyu "yetim tablosu" olarak ele alır ve bir düğmeyi tıklatarak "benimsenmesini" sağlar.
- Görünüşe göre "Tablo Sihirbazı" sitenin veritabanında olmayan tablolar ile bunu yapmak için bir yol sağlar. Ancak bu modül Drupal 7 için mevcut değildir.
- "Veritabanı ayarları" bölümündeki "settings.php" dosyası, sitenin çalışabileceği ek veritabanlarının nasıl tanımlanacağıyla ilgili ayrıntılı belgelere sahiptir. Ancak bir veritabanı bu şekilde tanımlandığında, tabloları Veri modülündeki yetim tabloları listesinde görünmez.
Sitelerimden birinin "settings.php" dosyasındaki veritabanı tanımında yaptığım değişiklik:
$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' => '',
), ), );
Çoklu site kurulumumda birden fazla sitede kullanmak istediğim bir tablo var. Bu tablo her site için erişilebilir bir veritabanında olması gerektiği anlamına gelir. Yaptığım okumaya göre, bunu yapmak için seçeneklerim:
- Mümkünse en iyisi: Veri modülünün "settings.php" de tanımlanan ek veritabanındaki tabloları tanımasını sağlamanın bir yolu olduğunu öğrenin, böylece bunları benimseyebilir.
- Tüm sitelerin bir veritabanı kullanmasına izin vermek için tablo öneklerini kullanın.
- “ Forena Reports ” modülü tam olarak ihtiyacım olanı yapıyor gibiydi, ama kurduğumda çalışamadım. Ben sunulan sorunu 2475645 ve çok daha fazlası var bu sorun için bir düzeltme olmadığı sürece yapamaz.
- Views'a "settings.php" de tanımlanan ek veritabanına erişim vermek için kendi modülümü yazın.
- Drupal 6'yı Tablo Sihirbazı ile yükleyin ve Görünümler'i harici tablomu görmesini sağlamak için kullanın ve ardından bir şekilde bunun sonucunu alın ve Drupal 7'ye koyun. (Bu, bazı yazılarda önerilmiştir.)
- Yama yüklemekle başlayan ve ayrıca kendi modülümü oluşturmayı gerektiren https://drupal.stackexchange.com/a/3321/45991 adresindeki prosedürü uygulayın .
- Ayrıca Feeds, Feeds SQL, Views XML Backend ve Migrate modüllerine de baktım, ancak hiçbiri Views'a harici bir db bağlayabileceklerini söylemiyor. Bir şey mi kaçırıyorum? Bunlardan biri doğru çözüm mü?
Seçenek 2 pratik değildir, çünkü yönetilmesi çok zor olan yüzlerce tablo ile büyük bir veritabanına neden olacaktır. Drupal'a başlarken büyük ilerleme kaydediyorum, ancak 4, 5 veya 6'nın görevini hissetmiyorum. Seçenek 1'in çalışması gibi bir şey var mı? Veya Views'un kendi modülümü yazmadan site veritabanı dışındaki bir tabloyla çalışmasını sağlamanın başka bir yolu var mı?
İki ek ayrıntı: Çalışmam gereken ilk tablo oldukça büyük, 6.000'den fazla satır ve yaklaşık 20 sütun. Sitenin ziyaretçilerine sayfa içeriği için ondan alınan bilgiler dışında veritabanına erişim izni vermek gibi bir niyet yoktur.
Yardımın için teşekkürler.