Dokumentacja App ML — bazy danych


Właściwość „bazy danych”

Właściwość „database” definiuje bazę danych jako źródło danych. Posiada następujące właściwości podrzędne:

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

Dane z bazy danych

Ten model pobiera rekordy zawierające Customer, City i Country z tabeli Customer w bazie danych SQL:

Przykład

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

Ograniczenia filtra

Aby umożliwić użytkownikom filtrowanie danych, możesz dodać informacje o filtrach do modelu:

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

Ograniczenia sortowania

Aby umożliwić użytkownikom sortowanie danych, możesz dodać do modelu informacje o sortowaniu:

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

Aktualizuj ograniczenia

Aby umożliwić użytkownikom aktualizowanie danych, możesz uwzględnić w modelu informacje o aktualizacji: 

Przykład

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

Domyślnie AppML umożliwia filtrowanie, sortowanie lub aktualizowanie danych, tylko że jest to określone w modelu.


Połączenia z bazą danych

Połączenia z bazą danych są zdefiniowane w 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"
    }
]
}

Plik konfiguracyjny może zawierać wiele połączeń z bazą danych.


Tworzenie baz danych

Ponieważ AppML umożliwia wykonywanie instrukcji SQL przed uruchomieniem aplikacji, możesz w razie potrzeby użyć tego do utworzenia bazy danych:

Model

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

Idealny do szybkiego prototypowania!