Table health
5 dk okuma
Her alan grubunun bir veritabanı tablosu vardır. Table health, bu tablonun alan grubu tanımıyla eşleşip eşleşmediğini gördüğünüz ve eklenti dışında bir şey değiştiğinde (bir geliştirici SQL çalıştırdı, bir taşıma aracı sütun sildi, bir yedek kısmen geri yüklendi) tabloyu onardığınız yerdir.
Table health üç yerde bulunur:
Yer | Konum | Amaç |
|---|---|---|
Table health paneli | Group info bölümü (kayıtlı bir grupta) | Durum rozeti, boyut istatistikleri, eksik bir tabloyu yeniden oluşturma. |
Table differences paneli | Editörde Group info ile Fields arasında (yalnızca gösterilecek bir şey olduğunda) | Eksik sütunlar, leftover sütunlar, eklenti dışında değiştirilen sütunlar. |
Unregistered database tables | Üst kısmı: WPM Fields › Field Groups | Alan grubu olmayan tablolar (orphan tables). |
Table health paneli
Kayıtlı bir grubu açın ve Group info bölümünü genişletin.
Öğe | Anlamı |
|---|---|
Rozet: Healthy / Table missing | Tablonun var olup olmadığı. Editör, grubu her açtığınızda veritabanına sorar. |
Total columns | Sistem sütunları dahil tüm sütunlar: |
Rows (est.) | Satır sayısının InnoDB tahmini. |
Data size | Tablo verisinin KB veya MB cinsinden boyutu. |
Tablo eksik olduğunda
Panel şu mesajı gösterir: The physical database table for this field group does not exist. You can recreate it or remove this settings entry. ve şunları sunar:
Düğme | Etkisi |
|---|---|
Create table | Tanımdan boş bir tablo oluşturur. Kaybolan tablodaki değerler geri yüklenmez. |
Remove the definition only | Grubun tanımını ayarlardan siler ve veritabanına dokunmaz. Onay başlığı Remove the definition only, düğme Remove settings. |
Grubu kaydetmek de eksik tabloyu yeniden oluşturur. Tablosu eksik bir gruptan değer okumak, sayfanızı bozmak yerine varsayılan (boş) değeri döndürür; değer yazmak ise false döndürür.
Field Groups listesinde bu tür gruplar No table rozetini ve bir bilgi satırını gösterir (1 field group has no database table yet. Open each group to create the table or remove the definition.). Liste, eklentinin hatırladığı tablo durumunu kullanır; grup editörü ise veritabanını kendisi kontrol eder, bu yüzden gerçek durumu yenilemek için grubu açın.
Table differences paneli
Panel başlığında bir sayaç bulunur. En fazla üç liste içerir.
Missing columns
Bu alanlar ayarlarda tanımlıdır, ancak sütunları veritabanı tablosunda yoktur.
İşlem | Etkisi |
|---|---|
Add to DB | Sütunu (ve dizinini ile yardımcı sütunlarını) alanın tanımından oluşturur. Mevcut satırlar |
Leftover columns
Bu sütunlar veritabanında vardır ancak alan tanımında yoktur. Yedek sütunlar, bir alan türü değiştirildiğinde otomatik olarak oluşturulmuştur. Leftover sütunlar kaldırılan alanlardan, kaldırılan konum kurallarından (mid, mtype), yeniden adlandırılan alt alanlardan veya türü değiştirilen alanlardan gelir (yedekler backup rozetiyle işaretlenir).
İşlem | Etkisi |
|---|---|
Import as fields (yalnızca normal sütunlar; yedek ve yardımcı sütunlar reddedilir) | Sütunu tanıma yeni bir alan olarak ekler. Tür SQL türünden tahmin edilir (SQL |
Remove from DB | Onaydan sonra sütunu ve değerlerini kalıcı olarak siler. |
Changed outside the plugin
Bu sütunlar hem ayarlarda hem veritabanında vardır, ancak SQL türleri doğrudan veritabanında değiştirilmiştir. Her satır Settings: {type} ve DB: {type} bilgisini gösterir.
İşlem | Etkisi |
|---|---|
Sync to DB | Veritabanının tanımla eşleşmesi için |
Değişen bir sütun için “tanımı veritabanından güncelle” düğmesi yoktur: bunun yerine alanın SQL sütun seçeneklerini değiştirin (bkz. Alan ayarları).
Unregistered database tables (orphan tables)
Alan grubu olmayan, {prefix}wpmcf_fg_* adlı bir tablo bir orphan table olur. Bu durum, bir grubun tanımı kaldırılıp tablosu kaldığında veya bir veritabanı içe aktarıldıktan sonra ortaya çıkar. Liste ekranı bir panel gösterir: N unregistered database tables found. These tables exist in the database but have no matching field group definition. Register them to manage their data through the UI, or drop them if they are no longer needed. Her kayıt sütunlarını ve satırlarını gösterir.
İşlem | Etkisi |
|---|---|
Register | Tablodan bir alan grubu oluşturur: her sütun için bir alan (türler SQL türlerinden tahmin edilir, sistem sütunları atlanır). Etiket anahtardan üretilir ve konum kuralları siz ayarlayana kadar boştur. Alanları adlandırmak ve kural eklemek için yeni grubu açın. |
Delete table | Onaydan sonra tabloyu siler (Delete database table, düğme Drop permanently): |
Bir orphan tablonun anahtarıyla grup oluşturmak reddedilir (A database table for this key is left over from a deleted field group. Register it under Orphan tables to keep its data, or choose another key.); böylece hiçbir veri yanlışlıkla ezilmez.
Alan grubunu silme
Bkz. Alan grubu oluşturma. Silmek tabloyu da siler. Tablo zaten yoksa silme işlemi yine de tanımı kaldırır. Kuyruktaki arka plan değişikliği önce iptal edilir.
REST başvurusu
Tüm rotalar bir yönetici gerektirir (manage_options).
Rota | Amaç |
|---|---|
|
|
| Eksik tabloyu oluşturur. |
| Yalnızca tanımı kaldırır. |
| Eksik bir sütun ekler. |
| Alanın sütun tanımını yeniden uygular. |
| Bir sütunu alan olarak ekler. |
| Bir leftover sütunu siler. |
| Kayıtsız tabloları listeler. |
| Bir tabloyu kaydeder. |
| Bir tabloyu siler. |
Sorun giderme
Sorun | Çözüm |
|---|---|
Değerler kaydedilmiyor ve Settings › Health bir veritabanı hatası gösteriyor | Bir sütun eklenti dışında silindi veya değiştirildi. Grubu açın ve Add to DB ya da Sync to DB kullanın. |
Table differences paneli, tanımadığım | Başka bir araç sütun ekledi. Yönetmek için Import as fields kullanın veya Remove from DB ile silin. |
Geri yüklenen bir yedek eski bir tabloyu getirdi | Geri yüklemeden sonra Table differences panelini kontrol edin; Sync to DB türleri düzeltir. |
Veritabanı önekini değiştirdikten sonra gruplar No table rozeti gösteriyor | Tablolar önekle adlandırılır. Tabloları yeni öneke göre yeniden adlandırın veya yeniden oluşturun. |
Hâlâ takıldınız mı? Destek ile iletişime geçin