"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)"
]
}}
신속한 프로토 타입에 딱!