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 !