メモ程度に。
モデルとマイグレーションを一緒に作る
$ php oil g model article title:varchar[45] description:text Creating model: c:\workspace\fp-sample\fuel\app\classes\model\article.php Creating migration: c:\workspace\fp-sample\fuel\app\migrations\001_create_articles.php
生成されたマイグレーション
<?php namespace Fuel\Migrations; class Create_articles { public function up() { \DBUtil::create_table('articles', array( 'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true), 'title' => array('constraint' => 45, 'type' => 'varchar'), 'description' => array('type' => 'text'), 'created_at' => array('constraint' => 11, 'type' => 'int'), 'updated_at' => array('constraint' => 11, 'type' => 'int'), ), array('id')); } public function down() { \DBUtil::drop_table('articles'); } }
これを実行する場合は
$ php oil refine migrate
これでOK。データベースを確認すると articles というテーブルが作成されていると思います。
ちなみに生成されたマイグレーションファイルには up() と down() とがありますが、意味はそのままで up() は新しく変更される内容、down() は取り消し内容といったかんじになります。
一度実行したマイグレーションを取り消す場合にはこの down() を実行すればOK。
$ php oil refine migrate:down
次に oil コマンドを入力したときは title と description しか宣言してないですが id, created_at, updated_at が自動的に生成されています。
id の消し方はわからなかったんですが(というかあるのかな??)、created_at と updated_at を消したい場合は --no-timestamp を付加してやります。
$ php oil g model article title:varchar[45] description:text --no-timestamp
created_at とか updated_at の名称を変更したい場合は
$ php oil g model article title:varchar[45] description:text --created-at=my_created --updated-at=my_updated
マイグレーションはいらないって場合は --no-migration とするとOK。
$ php oil g model article title:varchar[45] description:text --no-migration
つぎに、マイグレーションだけが作りたいという場合は oil g migration で生成できるんですがこれは規定のプリフィックスにしたがってコマンドを入力します。
新規テーブル(postsテーブルを生成)
$ php oil g migration create_post title:varchar[45] description:text
テーブルのリネーム(postsテーブルをpagesにリネーム)
$ php oil g migration rename_table_posts_to_pages
フィールドの追加(pagesテーブルにユーザ情報:名前、年齢、性別を追加)
$ php oil g migration add_userinfo_to_pages name:varchar[45] age:int gender:varchar[10]
フィールド名の変更(pagesテーブルのnameをusernameに変更)
$ php oil g migration rename_field_name_to_username_in_pages
テーブルの削除(pagesテーブルの削除)
$ php oil g migration drop_pages
といったかんじ。
いろいろ書きましたが書いてることはドキュメントに載ってることなんで。
詳しくはやっぱりドキュメントを見たほうが役に立ちますね。
Generate - Oil Package - FuelPHP Documentation
http://docs.fuelphp.com/packages/oil/generate.html
0 件のコメント:
コメントを投稿