最新のWeb開発のチュートリアル
 

AppMLリファレンス - データベース


"database"プロパティ

"database"プロパティは、データソースとしてデータベースを定義します。 これは、次のサブプロパティがあります。

素子 説明
"connection" データベース接続の名前
"execute" データ取得の前に実行されるSQL文の配列(optional)
"keyfield" メインテーブルのキーフィールド(optional)
"maintable" このアプリケーションのメインテーブル(optional)
"orderby" アプリケーションのための固定されたSQLのORDERBY句(optional)
"sql" データを取得するためのSQL文

データベースからのデータ

このモデルは、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)"
]
}}

ラピッドプロトタイピングのためのパーフェクト!