既に存在するMySQLのデーターベースから、Laravel用のマイグレーション ファイルが作成出来る " sequel-pro " 用のプラグイン「sequel-pro-laravel-export」の紹介です。
PHPのLaravelのフレームワークには データベースのテーブルスキーマを作成してくれる 便利なマイグレーション機能が備わっています。
一からテーブルのスキーマを設計するのであれば意識する必要がありませんが、既にデータベースが出来上がっている場合、テスト・本番環境を踏まえて既存のデータベース用のマイグレーションファイルを作成することも度々あります。
シンプル + テーブル数が少ないのであれば問題がありませんが、テーブル数が多く、構造が複雑だとマイグレーションファイルを作成するのにも神経を使って作業しなくてはいけません。
そんな苦労から開放してくれそうなツールが「sequel-pro-laravel-export」です。
この" sequel-pro-laravel-export "は、Mac用のMySQLクライアント "sequel pro"のバンドルで、ボタン一つでLaravel用のマイグレーションファイルを作成してくれます!
sequel-pro-laravel-exportはバイナリファイルで提供されているので、入手はGitHubのリポジトリページから行ないます。
( Sequel Pro本体はこちらの公式ページから入手できます )


sequel-pro-laravel-exportがインストールされると、
上メニューの ' Bundles ' -> ' Export 'に ' Export To Laravel Migration 'が追加されます。
使い方は説明が必要ないぐらい簡単で、' Export To Laravel Migration ' を押すと、開いているテーブルのマイグレーションファイルが作成されます!
デスクトップ
"上に作成されます 
っということで、試しにこのサイトの'categories
'テーブル用のマイグレーションファイルを作成しました!
( timestampやsoftDeletesにもキチンと対応されていました )
// 実際に作成されたマイグレーションファイル * 2016_11_23_215304_create_categories_table.php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
/**
* Migration auto-generated by Sequel Pro Laravel Export
* @see https://github.com/cviebrock/sequel-pro-laravel-export
*/
class CreateCategoriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->increments('id');
$table->tinyInteger('active')->default(1);
$table->string('name', 255);
$table->string('color', 255)->default('#1F897F');
$table->string('icon', 255);
$table->integer('count');
$table->timestamps();
$table->softDeletes();
$table->unique('name', 'categories_name_unique');
$table->unique('icon', 'categories_icon_unique');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('categories');
}
}
以上が sequel-pro-laravel-export の紹介でした。
Mysqlを使っていて、既存システム -> Laravelにリプレイスする時などに使えば、工数を1つ減らせそうなぐらい便利に使えそうです。
また、新規にシステムを作る場合にも 後々のマイグレーションファイル作成の事を考えずに、DBから設計に入れそうですね!
GitHub : cviebrock/sequel-pro-laravel-export