Laravelのmigrationでモデルの属性の文字数を変更したいとき
今回はLaravelのmigrationでモデルの属性の文字数を変更したいときどのようにすれば良いのかについてご紹介いたします。
Laravelのmigrationでモデルの属性の文字数を変更したいとき
migrationファイルを作成してLaravelにおいてあるモデルの文字数を変更したいときがあると思います。
結論を言うと、changeメソッドを使いましょう。
まずは下記の「make:migration」コマンドで、migration用のファイルを作成します。
第一引数は任意の名前でtableのオプションでカラムを変更するテーブルを指定します。
1 |
php artisan make:migration change_test_att_test_table --table=test_table |
マイグレーションファイルを作成したらchangeメソッドを使用してモデルの属性の文字数を変更していきます。
例えば、test_attが元々stringの255文字で、文字数を1000文字に変えたい場合、次のように書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class ChangeTestAttTestTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('test_table', function (Blueprint $table) { $table->string('test_att', 1000)->nullable()->comment('テスト属性')->change(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('test_table', function (Blueprint $table) { $table->string('test_att', 255)->nullable()->comment('テスト属性')->change(); }); } } |
上記のファイルを作成して
php artisan migrate
をすればデータベースに反映されます。
終わりに
今回はLaravelのmigrationでモデルの属性の文字数を変更したいときどのようにすれば良いのかについてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません