こんにちは、かねこです。
はじめに
Laravelでのデータベースマイグレーションの利用方法について書きます。
Laravelというのは、PHPのウェブアプリケーションフレームワークのことです。
ちょういいよ!
Welcome! – Laravel PHP Framework
さて、前回の記事をコピーした所で早速ためしてみましょう
マイグレーションとは
ウェブアプリケーションを開発・運用していると、データベースの構造はどんどん変更されていきます。
この変更を、従来(?)のようにSQLを直接記述するのではなく、フレームワークにより予め決められた形式で記述することで、以下の様な利点を享受することができます。
- 使用するデータベースの種別に依存せずに、データベース構造の変更ができる
- データベースの構造変更を、バージョン管理することができる
- データベースに加えた変更を段階的に、環境に反映することができる
- データベースに加えた変更を、ロールバックすることができる
ちなみに、Laravelのマイグレーションはsymfonyのマイグレーションとほぼイコールです。
さっそく使ってみましょう。
How To Step
マイグレーション用クラスの作成
プロジェクトのルートディレクトリでmigrate:makeします。
D:\xampp\htdocs\project>php artisan migrate:make create_announces_table Created Migration: 2013_07_25_142353_create_announces_table Generating optimized class loader Compiling common classes
できた。デフォルトで、/app/database/migrations/フォルダにできます。
<?php
use Illuminate\Database\Migrations\Migration;
class CreateAnnouncesTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
テーブル作成用スクリプトの記述
スクリプトを記述します。基本的に、Schema Builderでかきますが、別になんでもいいです。
up()でバージョンアップ時のコマンド、down()でバージョンダウン時のコマンドを書きます。
<?php
use Illuminate\Database\Migrations\Migration;
class CreateAnnouncesTable extends Migration {
public function up()
{
Schema::create('announces', function($table)
{
$table->increments('id');
$table->string('title', 100);
$table->text('message');
$table->timestamps();
$table->softDeletes();
});
}
public function down()
{
Schema::drop('announces');
}
}
マイグレーション
マイグレーションします。プロジェクトのルートディレクトリでmigrate:makeします。
D:\xampp\htdocs\project>php artisan migrate Migration table created successfully. Migrated: 2013_07_25_142353_create_announces_table
できた。すごかりし。
ロールバック
バージョンアップした変更を元に戻します。プロジェクトのルートディレクトリでmigrate:rollbackします。
D:\xampp\htdocs\project>php artisan migrate:rollback Rolled back: 2013_07_25_142353_create_announces_table
なくなったー!
おわりに
今回もとても簡単でしたね-。
つづく。
かねこ








