DEV

cakePHP2.3 Schema

参考:CakePHP2.0のコンソールを使ってラクラク自動生成しよう【1/2】

データベースの状態をschemaに保存したり、schemaの内容をもとにテーブルをつくったりできる。

コンソールでapp/Console/cake schemaとやって使う。

schema generate

現在のデータベースの状態をapp/Config/Schema/schema.phpに作成する。 schema.phpが既に存在する場合は、overwirteかsnapshotかやめるかを聞かれる。snapshotはschema_1.phpといった感じで、上書きせずに新規作成する。データベースをいじったら作っておくと便利かもしれん。 —modelとか-mでモデルも指定できる。-m Userとかやると、Userモデルのテーブルだけつくられる。

schema create

schema.phpを基に、データベースにテーブルを作成する。作成するテーブルを選んだりすることはできないようだ。 オプションは下記のようになっているので、もとになるschemaファイルの場所とか名前とかスナップショットナンバーとかを指定できるようだ。

--help, -h Display this help.
--verbose, -v Enable verbose output.
--quiet, -q Enable quiet output.
--plugin, -p The plugin to use.
--path Path to read and write schema.php (default:
/Applications/XAMPP/xamppfiles/htdocs/labo/app/Config/Schema)
--file File name to read and write. (default:
schema.php)
--name Classname to use. If its Plugin.class, both name and
plugin options will be set.
--connection, -c Set the db config to use. (default:
default)
--dry Perform a dry run on create and update commands.
Queries will be output instead of run.
--snapshot, -s Snapshot number to use/make.

schema dump

schemaファイルをもとにsqlを作成する。 schema dump —write schema.sqlといった感じで使う。—writeオプションがないと、そのままコンソールにsqlが表示される。 上記オプションと似ていて、もとにするschemaファイルを指定できる。