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!