App ML -referentie - Databases


De eigenschap "database"

De eigenschap "database" definieert een database als de gegevensbron. Het heeft de volgende subeigenschappen:

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

Gegevens uit een database

Dit model haalt records met klant, plaats en land op uit een klanttabel in een SQL-database:

Voorbeeld

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

Filterbeperkingen

Om gebruikers in staat te stellen gegevens te filteren, kunt u filterinformatie aan het model toevoegen:

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

Sorteerbeperkingen

Om gebruikers in staat te stellen gegevens te sorteren, kunt u sorteerinformatie aan het model toevoegen:

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

Beperkingen bijwerken

Om gebruikers in staat te stellen gegevens bij te werken, kunt u update-informatie in het model opnemen: 

Voorbeeld

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

Met AppML kunt u standaard gegevens filteren, sorteren of bijwerken, alleen wordt dit in het model gespecificeerd.


Databaseverbindingen

Databaseverbindingen worden gedefinieerd 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"
    }
]
}

Het configuratiebestand kan veel databaseverbindingen bevatten.


Databases maken

Aangezien u met AppML SQL-instructies kunt uitvoeren voordat de toepassing wordt gestart, kunt u dit gebruiken om indien nodig een database te maken:

Model

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

Perfect voor snelle prototyping!