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)"
]
}}
Идеально подходит для быстрого прототипирования!