以下のマニュアルに従ってみる。
アプリケーションの準備 :: ACL を制御するシンプルなアプリケーション :: 開発例 :: マニュアル :: 1.2 Collection :: The Cookbook :
http://book.cakephp.org/ja/view/642/Preparing-our-Application
10.2.1の作業
CREATE TABLE prefix_users ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL UNIQUE, password CHAR(40) NOT NULL, group_id INT(11) NOT NULL, created DATETIME, modified DATETIME ); CREATE TABLE prefix_groups ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, created DATETIME, modified DATETIME ); CREATE TABLE prefix_posts ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, user_id INT(11) NOT NULL, title VARCHAR(255) NOT NULL, body TEXT, created DATETIME, modified DATETIME ); CREATE TABLE prefix_widgets ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, part_no VARCHAR(12), quantity INT(11) );
ACL関連テーブルも作っておかないと次の作業でエラーが出たので、作っておく
スポンサードリンク
CREATE TABLE `prefix_acos` ( `id` int(10) NOT NULL AUTO_INCREMENT, `parent_id` int(10) DEFAULT NULL, `model` varchar(255) DEFAULT NULL, `foreign_key` int(10) DEFAULT NULL, `alias` varchar(255) DEFAULT NULL, `lft` int(10) DEFAULT NULL, `rght` int(10) DEFAULT NULL, PRIMARY KEY (`id`)); CREATE TABLE `prefix_aros` ( `id` int(10) NOT NULL AUTO_INCREMENT, `parent_id` int(10) DEFAULT NULL, `model` varchar(255) DEFAULT NULL, `foreign_key` int(10) DEFAULT NULL, `alias` varchar(255) DEFAULT NULL, `lft` int(10) DEFAULT NULL, `rght` int(10) DEFAULT NULL, PRIMARY KEY (`id`)); CREATE TABLE `prefix_aros_acos` ( `id` int(10) NOT NULL AUTO_INCREMENT, `aro_id` int(10) NOT NULL, `aco_id` int(10) NOT NULL, `_create` varchar(2) DEFAULT '0' NOT NULL, `_read` varchar(2) DEFAULT '0' NOT NULL, `_update` varchar(2) DEFAULT '0' NOT NULL, `_delete` varchar(2) DEFAULT '0' NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ARO_ACO_KEY` (`aro_id`, `aco_id`));
bake
マニュアルにはbakeしといてね、程度にしか書かれていないので以下を参考に作業をする。
CakePHP 10.2 ACL 開発例の補足 – WORKS-BB – オープンソース、PHP開発、ホームページ作成、ブログカスタマイズ :
http://works-bb.net/2009/02/12/337.html
※続きは次回
コメント