あきぞらです。
Laravelの開発をしていて、
テーブルのカラム定義を変更しようとしたときにエラーに遭遇しました。
すぐに解決できたのですが、今回はこの解決方法を書いていきます。
カラム定義をNULL値も入るように変更しようとした
カラムの定義を、NULLも受け付けるように変更したいと思い、
こんな感じでマイグレーションファイルを作っていました。
public function up() { Schema::table('books', function (Blueprint $table) { $table->string('book_name')->nullable(true)->change(); $table->string('img_url')->nullable(true)->change(); }); }
マイグレーションを実行するとエラーになった
しかし、マイグレーションを実行しようとすると、エラーになってしまいました。
$ php artisan migrate Migrating: 2020_09_19_054917_change_books_table RuntimeException Changing columns for table "books" requires Doctrine DBAL. Please install the doctrine/dbal package. at vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/ChangeColumn.php:30 .... ....
エラー文をよ~く見ていくと、「Please install the doctrine/dbal package.」とのこと。
これをインストールする必要があるらしい。
必要なライブラリをインストール
エラー文にあったように、「doctrine/dbal
」というものが必要らしいので、インストールしてみます。
$ composer require doctrine/dbal
再度マイグレーションを実行します。
$ php artisan migrate Migrating: 2020_09_19_054917_change_books_table Migrated: 2020_09_19_054917_change_books_table (0.05 seconds)
成功しました!