Referencia de App ML - Bases de datos
La propiedad "base de datos"
La propiedad "base de datos" define una base de datos como fuente de datos. Tiene las siguientes subpropiedades:
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 |
Datos de una base de datos
Este modelo obtiene registros que contienen Cliente, Ciudad y País de una tabla de Cliente en una base de datos SQL:
Ejemplo
{
"database": {
"connection": "mysql",
"sql" :
"SELECT CustomerName, City, Country FROM Customers",
"orderby" : "CustomerName"
}
}
Restricciones de filtro
Para permitir que los usuarios filtren datos, puede agregar información de filtro al modelo:
"filteritems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
Restricciones de clasificación
Para permitir que los usuarios ordenen datos, puede agregar información de ordenación al modelo:
"sortitems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
Restricciones de actualización
Para permitir que los usuarios actualicen los datos, puede incluir información de actualización en el modelo:
Ejemplo
"updateItems" : [
{"item" : "CustomerName"},
{"item" : "Address"},
{"item" : "PostalCode"},
{"item" : "City"},
{"item" : "Country"}]
De forma predeterminada, AppML le permitirá filtrar, ordenar o actualizar datos, solo que se especifica en el modelo.
Conexiones de base de datos
Las conexiones de la base de datos se definen en 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"
}
]
}
El archivo de configuración puede contener muchas conexiones de base de datos.
Creación de bases de datos
Dado que AppML le permite ejecutar instrucciones SQL antes de que se inicie la aplicación, puede usar esto para crear una base de datos si es necesario:
Modelo
{
"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)"
]
}}
¡Perfecto para la creación rápida de prototipos!