Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FuelPHP - 既存DBからのScaffold

Mamoru Otsuka
September 21, 2012

FuelPHP - 既存DBからのScaffold

FuelPHP 勉強会 東京 vol.2用資料

Mamoru Otsuka

September 21, 2012
Tweet

Other Decks in Programming

Transcript

  1. 通常のScaffold作成 コマンド実行時にカラム名や型を指定する。 例 php oil g scaffold monkey name:string description:text

    http://docs.fuelphp.com/packages/oil/generate.html#scaffolding http://press.nekoget.com/fuelphp_doc/packages/oil/generate.html#scaffolding 利点 MVCによるシンプルなCRUD機能を瞬時に作成出来る。 欠点 DDLを別途用意する開発スタイルにフィットしない。
  2. Taskの作成により解決を図る 1. 既存データベースに接続、テーブル情報を取得。 2. "1"のテーブル情報を、php oil g scaffold ... でコールされる

    FuelPHPのメソッドに渡す。 参考 php oil g scaffold ... は Oil\Generate_Scaffold::forge php oil g admin ... は Oil\Generate_Admin::forge php oil g model ... は Oil\Generate::model を、それぞれコールしている。
  3. 既存DBからScaffoldを作成するTask 概要 名称: Scafdb (APPPATH/tasks/scafdb.php) ライセンス: WTFPL FuelPHP 1.3で動作確認済。 ソース(Github)

    https://github.com/mp-php/fuel-myapp/blob/master/tasks/scafdb.php Taskに関するドキュメント http://docs.fuelphp.com/general/tasks.html http://press.nekoget.com/fuelphp_doc/general/tasks.html
  4. 使い方 1/2 前提条件 config/db.phpでDB設定が正しく行われている事。 機能1: 指定テーブルに対するScaffold作成 php oil r scafdb:scaf

    <table_name> 機能2: 全テーブルに対するScaffold作成 php oil r scafdb:scaf_all いずれも、-aのオプションを付与する事で、admin扱いとなる。
  5. 使い方 2/2 機能3: 指定テーブルに対するORMモデル作成 php oil r scafdb:model <table_name> 機能4:

    全テーブルに対するORMモデル作成 php oil r scafdb:model_all HELP php oil r scafdb php oil r scafdb:help