Il "database" Proprietà
Il "database" proprietà definisce un database come l'origine dati. Essa ha le seguenti proprietà sub:
Elemento | Descrizione |
---|---|
"connection" | Il nome di una connessione al database |
"execute" | Serie di istruzioni SQL da eseguire prima di reperimento dei dati (optional) |
"keyfield" | Il campo chiave per la tabella principale (optional) |
"maintable" | La tabella principale per questa applicazione (optional) |
"orderby" | Una clausola fisso SQL orderby per l'applicazione (optional) |
"sql" | L'istruzione SQL per il recupero dei dati |
Dati da un database
Questo modello recupera i record che contengono clienti, Città e Paese da una tabella Clienti in un database SQL:
Esempio
{
"database": {
"connection": "mysql",
"sql" :
"SELECT CustomerName, City, Country FROM Customers",
"orderby" : "CustomerName"
}
}
Filtro Restrizioni
Per consentire agli utenti di filtrare i dati, è possibile aggiungere informazioni filtro per il modello:
"filteritems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
Ordinamento Restrizioni
Per consentire agli utenti di ordinare i dati, è possibile aggiungere informazioni di ordinamento per il modello:
"sortitems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
Restrizioni di aggiornamento
Per consentire agli utenti di aggiornare i dati, è possibile includere informazioni di aggiornamento del modello:
Esempio
"updateItems" : [
{"item" : "CustomerName"},
{"item" : "Address"},
{"item" : "PostalCode"},
{"item" : "City"},
{"item" : "Country"}]
Per impostazione predefinita, AppML vi permetterà di filtrare, ordinare, o aggiornare i dati, solo che è specificato nel modello.
Connessioni al database
Connessioni al database sono definiti in 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"
}
]
}
Il file di configurazione può contenere molte connessioni al database.
Creazione di database
Dal momento che AppML consente di eseguire istruzioni SQL prima di avviare l'applicazione, è possibile utilizzare questo per creare un database, se necessario:
Modello
{
"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)"
]
}}
Perfetto per la prototipazione rapida!