「Php/fuelphp/migration/table」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→Migrationを作成) |
(→Migrationを使ってテーブル作成) |
||
行38: | 行38: | ||
`password` varchar(31) NOT NULL, | `password` varchar(31) NOT NULL, | ||
`msg` text NOT NULL, | `msg` text NOT NULL, | ||
+ | `created_at` int(11) NOT NULL, | ||
+ | `updated_at` int(11) NOT NULL, | ||
PRIMARY KEY (`id`) | PRIMARY KEY (`id`) | ||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
2015年10月25日 (日) 01:12時点における版
Migrationを作成
- プロジェクトトップに移動して以下コマンド実行
php oil generate migration create_users name:varchar[31] email:string[63] password:string[31] msg:text
- 以下が作成されたことを確認
fuel/app/migrations/001_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('constraint' => 11, 'type' => 'int'), 'updated_at' => array('constraint' => 11, 'type' => 'int'), ), array('id')); } public function down() { \DBUtil::drop_table('users'); } }
Migrationを使ってテーブル作成
- fuel/app/config/db.phpの設定をする
- 以下コマンド実行
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
処理を戻す
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