CakePHP 1.3.1 にて Schema シェルを使う

CakePHP 1.3.1 にて Schema シェルでデータベースのテーブル定義の操作を行いたい。
まだ、挙動がつかみきれていないが、理解した時点のメモを残しておく。

コマンドのヘルプ

困ったときはヘルプを参照。

 cake schema help

schema.php の生成

データベースを操作するには、 schema.php が必要。コマンドを実行すれば、データベースのテーブル定義を元に schema.php が自動生成できる。

 cake schema generate [-f] [snapshot <number>]

-f オプションをつけると全テーブルのテーブル定義を生成する。省略すると1つのテーブル定義だけ作成される。

snapshot の用途がいまいちよく分かっていないが、デフォルトの schema.php を上書きせずに保存するために別ファイル「<number>.php」として生成するためのオプションらしい。

テーブルの作成

 cake schema create [<name> [<table>]]
  • <name> は、ファイル名(=スナップショット)で、省略すると schema が呼ばれる。
  • <table> を指定すると、指定したテーブルが作成される。省略すると全てのテーブルを作成される。

テーブルの CREATE 文の表示

 cake schema dump [<name> [<table>]]

テーブルの CREATE 文が表示される。