Derniers tutoriels de développement web
 

AppML - Bases de données de référence


La "database" de "database" propriété

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

Élément La description
"connection" Le nom d'une connexion de base de données
"execute" Tableau des instructions SQL à exécuter avant la récupération de données (optional) en (optional)
"keyfield" Le champ clé de la table principale (optional) en (optional)
"maintable" Le tableau principal pour cette application (optional) en (optional)
"orderby" Une clause de orderby SQL fixé pour l'application (optional) en (optional)
"sql" L'instruction SQL pour la récupération de données

Les données d'une base de données

Ce modèle va chercher des documents contenant des clients, Ville et Pays d'une table client dans une base de données SQL:

Exemple

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

Les restrictions de filtrage

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

tri Restrictions

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, de trier ou de données de mise à jour, seulement il est spécifié dans le modèle.


Connexions de base de données

Les connexions de 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 plusieurs connexions de base de données.


Création de bases de données

Depuis appml vous permet d'exécuter des instructions SQL avant l'application est lancée, vous pouvez l'utiliser pour créer une base de données en cas de besoin:

maquette

{
"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!