Neueste Web-Entwicklung Tutorials
 

AppML Referenz - Datenbanken


Die "database" Property

Die "database" Eigenschaft definiert eine Datenbank als Datenquelle. Es hat die folgenden Unter Eigenschaften:

Element Beschreibung
"connection" Der Name einer Datenbankverbindung
"execute" Array von SQL - Anweisungen , bevor Datenabruf ausgeführt werden (optional)
"keyfield" Das Schlüsselfeld für die Haupttabelle (optional)
"maintable" Die Haupttabelle für diese Anwendung (optional)
"orderby" Eine feste SQL orderby Klausel für die Anwendung (optional)
"sql" Die SQL-Anweisung zum Abrufen von Daten

Daten aus einer Datenbank

Dieses Modell holt Datensätze mit Kunden, Stadt und Land von einer Customer-Tabelle in einer SQL-Datenbank:

Beispiel

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

Filter Einschränkungen

Damit Benutzer Daten filtern, können Sie Filter Informationen zum Modell hinzu:

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

Sortierung Einschränkungen

Damit Benutzer auf die Daten sortieren, können Sie sortieren Informationen zum Modell hinzu:

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

Update Einschränkungen

Benutzer zu ermöglichen, Daten zu aktualisieren, können Sie Update-Informationen in dem Modell enthalten:

Beispiel

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

Standardmäßig wird AppML können Sie filtern, sortieren oder Update-Daten werden nur im Modell festgelegt.


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.


Erstellen von Datenbanken

Da AppML Sie SQL-Anweisungen ausführen kann, bevor die Anwendung gestartet wird, können Sie diese verwenden, um eine Datenbank zu erstellen, wenn nötig:

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!