Gli ultimi tutorial di sviluppo web
 

AppML Riferimento - Database


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!