DB準備

まずはMySQLにrootでログイン。

c:\>mysql.exe -u root -p
Enter password: *******

DB作成。

mysql> create database ff default character set utf8;

データベース名はFramework Fightを略してff。ん〜安易だ(笑)

次はユーザ作成

mysql> grant all on ff.* to db_user identified by 'db_pass';

これは後で出てくる(ハズ)のCakePHPのDB設定ファイルdatabese.phpに書きます。


一旦ログアウト後、今作成したdb_userでログイン。

c:\>mysql.exe -u db_user -p
Enter password: *******

使用するDBを指定。

mysql> use ff;

PHP Framework Fight! DBについて - 肉とビールとパンケーキ by @sotarokに書いてあるSQLを流す。

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `user_name` varchar(100) collate utf8_unicode_ci NOT NULL,
  `email` varchar(255) collate utf8_unicode_ci NOT NULL,
  `password` varchar(64) collate utf8_unicode_ci NOT NULL,
  `image` varchar(255) collate utf8_unicode_ci default NULL,
  `private_flag` tinyint(4) NOT NULL default '0',
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `delete_flag` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE `followers` (
  `id` int(10) unsigned NOT NULL auto_increment,  // 追加
  `user_id` int(11) unsigned NOT NULL,
  `follow_id` int(11) unsigned NOT NULL,
  `created_at` datetime NOT NULL,
  PRIMARY KEY  (`id`),  // 修正
  UNIQUE INDEX followers_fkindex1(`user_id`,`follow_id`),  // 修正

  CONSTRAINT FOREIGN KEY (`follow_id`) REFERENCES `users` (`id`),
  CONSTRAINT FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE `statuses` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `user_id` int(10) unsigned NOT NULL,
  `reply_user_id` int(10) unsigned default NULL,
  `comment` varchar(255) collate utf8_unicode_ci NOT NULL,
  `created_at` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

そのまま使ってエラーは出ませんでした^^
followersテーブルにidカラムがないので追加して、プライマリーキーをidに変更、ユニークインデックスを追加しました。


さて、これでDB側の準備は終了(だと思います)