Los últimos tutoriales de desarrollo web
 

AppML Bases de datos de referencia -


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!