La "database" Propiedad
La "database" propiedad define una base de datos como fuente de datos. Tiene las siguientes propiedades sub:
Elemento | Descripción |
---|---|
"connection" | El nombre de una conexión de base de datos |
"execute" | Serie de sentencias SQL que se ejecuta antes de la recuperación de datos (optional) |
"keyfield" | El campo clave para la tabla principal (optional) |
"maintable" | La mesa principal para esta aplicación (optional) |
"orderby" | Una cláusula fija SQL orderby para la aplicación (optional) |
"sql" | La sentencia SQL para recuperar datos |
Los datos de una base de datos
Este modelo recupera registros que contienen al cliente, ciudad y país de una tabla de clientes en una base de datos SQL:
Ejemplo
{
"database": {
"connection": "mysql",
"sql" :
"SELECT CustomerName, City, Country FROM Customers",
"orderby" : "CustomerName"
}
}
Restricciones de filtro
Para permitir a los usuarios filtrar los datos, se puede añadir información filtro para el modelo:
"filteritems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
Restricciones de clasificación
Para permitir a los usuarios ordenar los datos, se puede añadir información de clasificación para el modelo:
"sortitems" : [
{"item" : "CustomerName", "label" : "Customer"},
{"item" : "City"},
{"item" : "Country"}]
Restricciones de actualización
Para permitir a los usuarios actualizar los datos, puede incluir información de actualización en el modelo:
Ejemplo
"updateItems" : [
{"item" : "CustomerName"},
{"item" : "Address"},
{"item" : "PostalCode"},
{"item" : "City"},
{"item" : "Country"}]
Por defecto, AppML le permitirá filtrar, ordenar, o actualizar datos, sólo que se especifica en el modelo.
Conexiones de base de datos
Conexiones de bases 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 bases de datos.
Crear bases de datos
Desde AppML le permite ejecutar sentencias SQL antes de que se inicie la aplicación, puede utilizar 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)"
]
}}
Perfecta para el prototipado rápido!