facebook twitter hatena line email

Php/fuelphp/migration/model crud

提供: 初心者エンジニアの簡易メモ
2015年10月25日 (日) 02:11時点におけるAdmin (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

migrationを使ってcrudのmodelを作成する

php oil g model user name:varchar[31] email:string[63] password:string[31] msg:text  created_at:int updated_at:int --crud

以下2つのファイル(modelとmigration)ができる

  • fuel/app/classes/model/user.php
 class Model_User extends \Model_Crud
 {
     protected static $_properties = array(
         'id',
         'name',
         'email',
         'password',
         'msg',
         'created_at',
         'updated_at',
     );
     protected static $_table_name = 'users';
 }
  • fuel/app/migrations/002_create_users.php
 namespace Fuel\Migrations;
 class Create_users
 {
    public function up()
    {
        \DBUtil::create_table('users', array(
            'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true, 'unsigned' => true),
            'name' => array('constraint' => 31, 'type' => 'varchar'),
            'email' => array('constraint' => 63, 'type' => 'varchar'),
            'password' => array('constraint' => 31, 'type' => 'varchar'),
            'msg' => array('type' => 'text'),
            'created_at' => array('type' => 'datetime'),
            'updated_at' => array('type' => 'datetime'),
        ), array('id'));
    }
    public function down()
    {
        \DBUtil::drop_table('users');
    }
 }
  • 以下コマンド実行でmigrationが実行されtableができる
php oil refine migrate
  • こんなテーブルができる
CREATE TABLE `users` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(31) NOT NULL,
 `email` varchar(63) NOT NULL,
 `password` varchar(31) NOT NULL,
 `msg` text NOT NULL,
 `created_at` int(11) NOT NULL,
 `updated_at` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;