App ML- Referenz – Datenbanken


Die "Datenbank"-Eigenschaft

Die Eigenschaft „database“ definiert eine Datenbank als Datenquelle. Es hat die folgenden Untereigenschaften:

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

Daten aus einer Datenbank

Dieses Modell ruft Datensätze ab, die Kunde, Stadt und Land aus einer Kundentabelle in einer SQL-Datenbank enthalten:

Beispiel

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

Filterbeschränkungen

Damit Benutzer Daten filtern können, können Sie dem Modell Filterinformationen hinzufügen:

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

Sortierbeschränkungen

Damit Benutzer Daten sortieren können, können Sie dem Modell Sortierinformationen hinzufügen:

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

Einschränkungen aktualisieren

Damit Benutzer Daten aktualisieren können, können Sie Aktualisierungsinformationen in das Modell aufnehmen: 

Beispiel

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

Standardmäßig lässt AppML Sie Daten filtern, sortieren oder aktualisieren, nur dies ist im Modell angegeben.


Datenbankverbindungen

Datenbankverbindungen werden in appml_config.php definiert :

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

Die Konfigurationsdatei kann viele Datenbankverbindungen enthalten.


Datenbanken erstellen

Da Sie mit AppML SQL-Anweisungen ausführen können, bevor die Anwendung gestartet wird, können Sie dies verwenden, um bei Bedarf eine Datenbank zu erstellen:

Modell

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

Perfekt für Rapid Prototyping!