Ana içeriğe geç

Eylemlere giriş

Şu anda, eylemler yalnızca PostgreSQL ve MySQL için kullanılabilir.

Örnek eylem

Eylemler nedir?

Eylemler, Patrona'da özel formlar ve iş mantığı oluşturmanıza olanak tanıyan varlıklardır.

Eylemler, veritabanınıza geri yazan parametreli SQL yazmanıza olanak tanır. Eylemler, özel iş akışları oluşturmak için panolardaki butonlare eklenebilir. Eylemlerin oluşturduğu parametreli formları herkese açık olarak paylaşarak veri toplayabilirsiniz.

İşte eylemlerle yapabileceğiniz birkaç fikir:

  • Bir panoda görüntülediğiniz müşteriyi VIP olarak işaretleyin.
  • Ekip üyelerinin gereksiz verileri kaldırmasına izin verin.
  • Web sitenize yerleştirmek için bir müşteri geri bildirim formu oluşturun.

Eylemler bir model'e eklenmelidir, ancak eylemler yalnızca bu modelleri destekleyen ham tablolarda çalışır (bu nedenle eylemler asla model tanımınızı düzenlemez).

Bir veritabanı için eylemleri etkinleştirme

Eylemlerin çalışması için önce aşağıdaki iki şeyi yapmanız gerekecek:

  1. Veritabanı bağlantısı için model eylemlerini etkinleştirin. Bir veritabanı bağlantısı için eylemleri etkinleştirmek için, yöneticiler sağ üstteki dişli simgesine tıklamalı ve Yönetici ayarları > Veritabanları'na gitmeli, ardından eylemler oluşturmak istediğiniz veritabanına tıklamalıdır. Bağlantı ayarları formunun sağ tarafında, Model eylemleri seçeneğini değiştirin. Eylemlerin çalışması için, veritabanı kullanıcı hesabının (veritabanına bağlanmak için kullandığınız hesap) yazma izinlerine sahip olması gerekir. Ve şu anda, eylemler yalnızca PostgreSQL ve MySQL veritabanlarında desteklenmektedir.
  2. O veritabanından en az bir model oluşturun. Eylemler modellere bağlıdır, bu nedenle eylemler oluşturmaya başlamadan önce en az bir model oluşturmuş olmanız (veya erişiminiz olması) gerekir.

Kimler eylemleri kullanabilir

  • Bir eylem oluşturmak veya düzenlemek için, kişinin ilgili veritabanı için SQL sorgu düzenleme ayrıcalıklarına sahip bir grupta olması gerekir.
  • Bir eylemi çalıştırmak için, eylemin modeline veya panosuna (veya herkese açık bir eylem bağlantısına) erişim iznine sahip olmanız yeterlidir.

Eylem türleri

İki tür eylem vardır:

Eylemleri çalıştırma

Eylemleri çalıştırmanın birden fazla yolu vardır:

Eylemler tablolardaki verileri değiştirir, bu da modelleri etkiler

Burada bir şeyi netleştirelim: eylemler, modellere eklenmiş olsalar bile, değişikliklerini bir modelin sorguladığı altındaki tabloya yapar. Bu, altındaki tabloya veya o tabloya dayalı sorulara veya diğer modellere erişimi olan herkesin bir eylemin etkilerini görebileceği anlamına gelir. Patrona dışındaki bu veritabanına bağlı araçlar da bu değişiklikleri alacaktır.

Bu anlamda, modeller eylemler için kaplardır; modeller eylemleri düzenlemenin bir yoludur. Aslında, teorik olarak, modelin verileriyle ilgisiz bir güncelleme gerçekleştiren bir özel eylem ekleyebilirsiniz. Örneğin, Accounts tablosunu güncelleyen bir özel eylem yazabilir ve bu eylemi yalnızca ilgisiz bir tabloyu (örneğin, Orders tablosu) sorgulayan bir modele ekleyebilirsiniz. Ama, biliyorsunuz, belki bunu yapmayın (çok iyi bir nedeniniz olmadıkça). Ancak temel eylemler, yalnızca tek bir ham tabloyu saran modeller için kullanılabilir.

Eylemleri üretimde kullanmadan önce, nasıl çalıştıklarını anlamak için bazı örnek veriler üzerinde eylemlerle oynamayı düşünün (Patrona ile birlikte gelen Örnek Veritabanı gibi).

Eylem dikkat edilmesi gerekenler

  • İlgili tablo veya model için önbellekleme etkinse, Patrona verileri yenileyene kadar bir eylemin etkilerini Patrona'da göremeyebilirsiniz (ancak verileri manuel olarak yenileyebilirsiniz).
  • Otomatik olarak oluşturulan birincil anahtarı olmayan bir tabloda kayıt oluştururken, kullanılabilir bir kimlik (yani, başka bir kayıt tarafından kullanılmayan bir kimlik) girmeniz gerekecektir.
  • Eylemleri "geri alamazsınız". Ancak, silinen bir kaydı yeniden oluşturmak veya güncellenmiş bir kaydı orijinal değerlerine geri döndürmek için bir eylem oluşturabilir ve çalıştırabilirsiniz (orijinal değerleri biliyorsanız).
  • Eylemler herkese açık panolar ve statik gömülü panolar için kullanılamaz.

Daha fazla okuma