Справочник по App ML — базы данных


Свойство "база данных"

Свойство «база данных» определяет базу данных как источник данных. Он имеет следующие подсвойства:

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

Данные из базы данных

Эта модель извлекает записи, содержащие Customer, City и Country, из таблицы Customer в базе данных SQL:

Пример

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

Фильтровать ограничения

Чтобы пользователи могли фильтровать данные, вы можете добавить информацию о фильтре в модель:

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

Сортировка ограничений

Чтобы пользователи могли сортировать данные, вы можете добавить в модель информацию о сортировке:

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

Обновление ограничений

Чтобы пользователи могли обновлять данные, вы можете включить в модель информацию об обновлении: 

Пример

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

По умолчанию AppML позволяет фильтровать, сортировать или обновлять данные, только это указано в модели.


Подключения к базе данных

Соединения с базой данных определены в 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"
    }
]
}

Файл конфигурации может содержать множество подключений к базе данных.


Создание баз данных

Поскольку AppML позволяет вам выполнять операторы SQL до запуска приложения, вы можете использовать это для создания базы данных, если это необходимо:

Модель

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

Идеально подходит для быстрого прототипирования!