tutoriais mais recente desenvolvimento web
 

AppML Referência - Databases


O "database" Propriedade

O "database" propriedade define um banco de dados como fonte de dados. Tem as seguintes propriedades sub:

Elemento Descrição
"connection" O nome de uma conexão de banco de dados
"execute" Conjunto de instruções SQL para ser executada antes da recuperação de dados (optional)
"keyfield" O campo de chave para a tabela principal (optional)
"maintable" A principal mesa para esta aplicação (optional)
"orderby" Uma cláusula fixo SQL orderby para a aplicação (optional)
"sql" A instrução SQL para recuperar dados

Dados de um banco

Este modelo vai buscar registros contendo Cliente, Cidade e País de uma tabela do cliente em um banco de dados SQL:

Exemplo

{
"database": {
    "connection": "mysql",
    "sql"       : "SELECT CustomerName, City, Country FROM Customers",
    "orderby"   : "CustomerName"
}
}

Restrições de filtro

Para permitir que os usuários para filtrar dados, você pode adicionar informações de filtro para o modelo:

"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

classificando Restrições

Para permitir que os usuários classifiquem os dados, você pode adicionar informações de classificação para o modelo:

"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

Restrições de atualização

Para permitir que os usuários atualizem os dados, você pode incluir informações de atualização no modelo:

Exemplo

"updateItems" : [
    {"item" : "CustomerName"},
    {"item" : "Address"},
    {"item" : "PostalCode"},
    {"item" : "City"},
    {"item" : "Country"}]

Por padrão, AppML vai deixar você filtrar, classificar ou atualizar dados, só que é especificado no modelo.


Conexões de banco de dados

Conexões de banco de dados são definidos no 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"
    }
]
}

O arquivo de configuração pode conter muitas conexões de banco de dados.


criando bancos de dados

Desde AppML permite executar instruções SQL antes da aplicação é iniciada, você pode usar isso para criar um banco de dados, se necessário:

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)"
]
}}

Perfeito para prototipagem rápida!