App ML Referansı - Veritabanları


"Veritabanı" Özelliği

"Veritabanı" özelliği, bir veritabanını veri kaynağı olarak tanımlar. Aşağıdaki alt özelliklere sahiptir:

Element Description
"connection" The name of a database connection
"execute" Array of SQL statements to be executed before data retrieval (optional)
"keyfield" The key field for the main table (optional)
"maintable" The main table for this application (optional)
"orderby" A fixed SQL orderby clause for the application (optional)
"sql" The SQL statement for retrieving data

Veritabanından Veriler

Bu model, bir SQL veritabanındaki Müşteri tablosundan Müşteri, Şehir ve Ülke içeren kayıtları getirir:

Örnek

{
"database": {
    "connection": "mysql",
    "sql"       : "SELECT CustomerName, City, Country FROM Customers",
    "orderby"   : "CustomerName"
}
}

Filtre Kısıtlamaları

Kullanıcıların verileri filtrelemesine izin vermek için modele filtre bilgileri ekleyebilirsiniz:

"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

Sıralama Kısıtlamaları

Kullanıcıların verileri sıralamalarına izin vermek için modele sıralama bilgileri ekleyebilirsiniz:

"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

Kısıtlamaları Güncelle

Kullanıcıların verileri güncellemesine izin vermek için modele güncelleme bilgilerini dahil edebilirsiniz: 

Örnek

"updateItems" : [
    {"item" : "CustomerName"},
    {"item" : "Address"},
    {"item" : "PostalCode"},
    {"item" : "City"},
    {"item" : "Country"}]

Varsayılan olarak, AppML verileri filtrelemenize, sıralamanıza veya güncellemenize izin verir, yalnızca modelde belirtilir.


Veritabanı Bağlantıları

Veritabanı bağlantıları appml_config.php içinde tanımlanır :

appml_config.php

<?php echo("Access Forbidden");exit();?>
{
"dateformat" : "yyyy-mm-dd",
"databases": [
    {
    "connection" : "mysql",
    "host"       : "127.0.0.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "googleDB",
    "host"       : "192.168.1.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "amazonDB",
    "host"       : "mydbinstance.amazon.com:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "azureDB",
    "host"       : "azure.cloudapp.net",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    }
]
}

Yapılandırma dosyası birçok veritabanı bağlantısı içerebilir.


Veritabanları Oluşturma

AppML, uygulama başlatılmadan önce SQL deyimlerini yürütmenize izin verdiğinden, gerekirse bunu bir veritabanı oluşturmak için kullanabilirsiniz:

modeli

{
"database" : {
"connection" : "myCDs",
"execute" : [
"DROP TABLE IF EXISTS CD_Catalog",
"CREATE TABLE IF NOT EXISTS CD_Catalog (CDID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price NUMBER)"
]
}}

Hızlı prototipleme için mükemmel!