웹 개발2008.05.15 10:19

CakePHP의 데이터베이스 설정은 app/config/database.php 파일을 이용한다. app/config/database.php.default 파일을 열어보면 예제를 볼 수 있다.


var $default = array('driver' => 'mysql',
                     '
persistent' => false,
                     'host' => 'localhost',
                     '
login' => 'cakephp',
                     '
password' => 'password',
                     '
database' => 'cakephp',
                     '
prefix' => 'cp_');

CakePHP의 데이터베이스 연결은 model에서 $useDbConfig 프로퍼티에 다른 연결을 설정하지 않으면, 데이터베이스 연결에 $default 연결을 사용한다.
만일 어플리케이션에 다른 데이터베이스 연결을 추가한다면, $default와 같은 배열을 다른 이름으로 하나 더 만들고, 예를 들면 $legacy, 이를 사용하는 model에서 $useDbConfig = ‘legacy’; 를 설정하여 사용한다.

Key            | Value
driver         | 데이터베이스 드라이버의 이름이다. 다음 이름을 사용할 수 있다.
               | mysql, postgress, sqlite, pear-drivername,
               | adodb-drivername, mssql, oracle, odbc
persistent     | 데이터베이스에 persistent 연결을 사용할 것인지를 true,
               | false로 표시한다.
host           | 데이터베이스 서버의 hostname 또는 ip 주소
login          | 데이터베이스 계정의 username
password       | 데이터베이스 계정의 암호
database       | 연결할 데이터베이스의 이름
prefix         | 데이터베이스의 테이블 이름에 사용하는 prefix 값
               | prefix를 사용하지 않으면 비워둔다.
port           | 데이터베이스 서버와 연결에 사용할 TCP 포트값
encoding       | 데이터베이스 서버에 보낼 SQL 문장의 character set
schema         | postgressSQL을 사용할 때 사용할 schema를 지정한다.

prefixmodel이 아닌 테이블을 위한 것이다. 예를 들어 Apple, Flavor 모델을 위해서 join 테이블을 만든다면, 이들의 이름은 prefix_apples_prefix_flavors 가 아닌 prefix_apples_flavors가 되어야 한다, 그리고 prefix 설정은 ‘prefix_’ 로 적는다.
신고
Posted by 무한루프 달리만듦

댓글을 달아 주세요