ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ
AppML. Уроки для начинающих

AppML Справочник - Базы данных


Свойство "database"

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

Элемент Описание
"connection" Имя подключения к базе данных
"execute" Массив операторов SQL, выполняемых перед извлечением данных (необязательно)
"keyfield" Ключевое поле для основной таблицы (необязательно)
"maintable" Основная таблица для этого приложения (необязательно)
"orderby" Фиксированный SQL-запрос для приложения (необязательно)
"sql" Оператор SQL для получения данных

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

Эта модель извлекает записи, содержащие 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)"
]
}}

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