App ML Reference - Databáze


Vlastnost "databáze".

Vlastnost "database" definuje databázi jako zdroj dat. Má následující dílčí vlastnosti:

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

Data z databáze

Tento model načítá záznamy obsahující Zákazník, Město a Země z tabulky Zákazník v databázi SQL:

Příklad

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

Omezení filtru

Chcete-li uživatelům umožnit filtrování dat, můžete do modelu přidat informace o filtru:

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

Omezení řazení

Chcete-li uživatelům umožnit řazení dat, můžete do modelu přidat informace o řazení:

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

Aktualizovat omezení

Chcete-li uživatelům umožnit aktualizaci dat, můžete do modelu zahrnout informace o aktualizaci: 

Příklad

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

Ve výchozím nastavení vám AppML umožní filtrovat, třídit nebo aktualizovat data, pouze je specifikováno v modelu.


Databázová připojení

Databázová připojení jsou definována v appml_config.php :

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"
    }
]
}

Konfigurační soubor může obsahovat mnoho databázových připojení.


Vytváření databází

Vzhledem k tomu, že AppML umožňuje spouštět příkazy SQL před spuštěním aplikace, můžete jej použít k vytvoření databáze v případě potřeby:

Modelka

{
"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)"
]
}}

Ideální pro rychlé prototypování!