oil タスクの作成と実行
FuelPHP では アプリケーションに関する様々なタスクを定義して実行することができる。
実行可能なタスクの一覧を表示する
$ oil r
または
$ oil refine
Usage:
php oil [r|refine] <taskname>
Description:
Tasks are classes that can be run through the the command line or set up as a cron job.
Available tasks:
php oil refine install
php oil refine migrate:__construct
php oil refine migrate:__call
php oil refine migrate:help
php oil refine session
php oil refine session:create
php oil refine session:remove
php oil refine session:clear
php oil refine session:help
php oil refine robots
php oil refine robots:protect
Documentation:
http://docs.fuelphp.com/packages/oil/refine.html
アプリのテストデータを生成する
- タスクを書くための php ファイルを用意する。
fuelapp/app/tasks/testdata.php<sxh php collapse:true>
<?php
namespace Fuel\Tasks;
class Testdata {
/** * fuelappのテストデータをデータベースに生成します。 * * Usage (from command line): * * php oil r testdata * * @return string */ public static function run() { static::tablenames(); } // <editor-fold defaultstate="collapsed" desc="tablenames"> /** * t_simulations にテストデータを生成します。 * * Usage (from command line): * * php oil r testdata:tablenames * * @return string */ public static function tablenames() { // t_simulations をクリア \DBUtil::truncate_table(\Model_Tablename::table()); // <editor-fold defaultstate="collapsed" desc="テストデータ"> $tablenames_array = array( array( 'column1' => 'testname', 'column2' => 1234567890, 'column3' => \Date::forge()->format('mysql'), 'column4' => 'TextTextTextTextText', 'created_at' => '', 'updated_at' => '', ), ); // </editor-fold> $count_max = 1000; for ($count = 0; $count < $count_max; $count++) { foreach ($tablenames_array as $row_data) { $at_date = \Date::forge()->format('mysql'); /* @var $row \Model_Tablename */ $row = \Model_Tablename::forge(); $row->column1 = $row_data['column1']; $row->column2 = $row_data['column2']; $row->column3 = $row_data['column3']; $row->column4 = $row_data['column4']; // レコードを保存 $row->save(); } } } // </editor-fold>
} </sxh>
- タスクを実行する。
$ oil r testdata