facebook twitter hatena line email

Php/fuelphp/migration/table

提供: 初心者エンジニアの簡易メモ
2015年5月20日 (水) 03:18時点における127.0.0.1 (トーク)による版 (ページの作成:「==Migrationを作成== #プロジェクトトップに移動して以下コマンド実行 php oil generate migration create_tests name:text email:string[50] password:st...」)

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

Migrationを作成

  1. プロジェクトトップに移動して以下コマンド実行
php oil generate migration create_tests name:text email:string[50] password:string[125]
  1. 以下が作成されたことを確認

fuel/app/migrations/001_create_tests.php

namespace Fuel\Migrations;
class Create_tests
{
       public function up()
       {
               \DBUtil::create_table('tests', array(
                       'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true),
                       'name' => array('type' => 'text'),
                       'email' => array('constraint' => 50, 'type' => 'varchar'),
                       'password' => array('constraint' => 125, 'type' => 'varchar'),
                       'created_at' => array('constraint' => 11, 'type' => 'int'),
                       'updated_at' => array('constraint' => 11, 'type' => 'int'),
               ), array('id'));
       }
       public function down()
       {
               \DBUtil::drop_table('tests');
       }
}

Migrationを使ってテーブル作成

  1. fuel/app/config/db.phpの設定をする
  2. 以下コマンド実行
php oil refine migrate

以下テーブルができる

CREATE TABLE `tests` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  `email` varchar(50) NOT NULL,
  `password` varchar(125) NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

処理を戻す

php oil refine migrate:down

戻した処理を進める

php oil refine migrate:up

バージョンを指定して処理

php oil refine migrate --version=10

カラム追加サンプル

php oil g migration add_bio_to_tests bio:text
php oil r migrate

参考

http://d.hatena.ne.jp/Kenji_s/20111210/1323475862