Laravel5.1のmigrationを使ってカラムの変更でハマった話
経緯
- 実行したクエリもちゃんとバージョン管理下に置いておきたくてmigrationを使う運用をしている
- カラムの情報を変更させる必要があったのでmigrationファイルを作ってカラムを変更しようとしたらできなかった
なにをやってたのか
- migrationファイルを作った
php artisan make:migration --table 該当テーブル名 migrationファイル名
- スキーマを書いた
Schema::table('xxx', function (Blueprint $table) { $table->string('name', 50)->change(); });
- migration実行
php artisan migration
データベースを確認しても変化なしのため一旦ロールバックして再度、実行しながらクエリログをみる
xxx
テーブルに対してのログが一切でてこないのにmigrationテーブルは更新されてるカラムの情報を変更できていないのにmigrationファイルは実行済みになっていた
Documentを探した
なぜカラムの変更ができなかったのか
- パッケージをいれてなかった
- 以下を入れろってDocumentに書いてました
composer require doctrine/dbal composer install
結論
- 作ったファイル消してパッケージ入れてファイル作り直したら動きました