Home > CakePHP Tips > 設定 > データベースへのテーブル登録

データベースへのテーブル登録

データベースへのテーブルの登録は、schema を使って大雑把に登録し、細かい部分は後から、phpMyAdmin を使って修正する。
※後で、phpMyAdmin を使う理由は、schema で用意されているキーでは設定できないものもあるため(後述)。

schema.php 生成

下記のコマンドで /各プロジェクト名/config/sql/ 配下に schema.php を生成する。

cake schema generate -app プロジェクト名

※/cake/console/ への PATH は通っているものとする。

schema.php 編集

生成するテーブルを定義する。

var $テーブル名 = array(
	'カラム名' => array(各種属性....),
	'indexes' => array('PRIMARY' => array('column' => '主キーカラム名', 'unique' => 1)),
	'キー名' => array('column' => array('キーカラム名'....), 'unique' => 1)),
);

// 例
var $tables = array(
	'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'length' => 20, 'key' => 'primary'),
	'created' => array('type' => 'datetime', 'null' => false, 'default' => '0000-00-00 00:00:00'),
	'modified' => array('type' => 'datetime', 'null' => false, 'default' => '0000-00-00 00:00:00'),
	'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1)),
);

設定できる各種属性

type

カラムの型を指定。string, text, integer, float, datetime, timestamp, time, date, binary, boolean から選択

null

NULL の許可 true or false を設定

default

デフォルト値を任意で設定

length

カラムの長さを数値で指定

key

主キーカラムの場合のみ true を指定

テーブル生成

下記コマンドを実行し、設定したスキーマ情報からテーブルを生成する。

cake schema run create -app 各プロジェクト名

phpMyAdmin で修正

schema では、カラムの型は、tinyint や enum などの設定ができないため、その辺は、phpMyAdmin で設定する。

あわせて読みたい関連記事

Home > CakePHP Tips > 設定 > データベースへのテーブル登録

検索
Feeds
メタ情報

ページの先頭へ