以下のマニュアルに従ってみる。
アプリケーションの準備 :: 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
※続きは次回


コメント