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!