Référence App ML - Bases de données


La propriété "base de données"

La propriété "database" définit une base de données comme source de données. Il a les sous-propriétés suivantes :

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

Données d'une base de données

Ce modèle récupère les enregistrements contenant Customer, City et Country à partir d'une table Customer dans une base de données SQL :

Exemple

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

Filtrer les restrictions

Pour permettre aux utilisateurs de filtrer les données, vous pouvez ajouter des informations de filtre au modèle :

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

Restrictions de tri

Pour permettre aux utilisateurs de trier les données, vous pouvez ajouter des informations de tri au modèle :

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

Restrictions de mise à jour

Pour permettre aux utilisateurs de mettre à jour les données, vous pouvez inclure des informations de mise à jour dans le modèle : 

Exemple

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

Par défaut, AppML vous permettra de filtrer, trier ou mettre à jour les données, uniquement si elles sont spécifiées dans le modèle.


Connexions à la base de données

Les connexions à la base de données sont définies dans 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"
    }
]
}

Le fichier de configuration peut contenir de nombreuses connexions à la base de données.


Création de bases de données

Étant donné qu'AppML vous permet d'exécuter des instructions SQL avant le démarrage de l'application, vous pouvez l'utiliser pour créer une base de données si nécessaire :

Modèle

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

Parfait pour le prototypage rapide !