How to change enum type column in laravel migration? How to change enum type column in laravel migration? laravel laravel

How to change enum type column in laravel migration?


Use the DB::statement method:

DB::statement("ALTER TABLE packages MODIFY COLUMN weight_unit ENUM('Grams', 'Kgs', 'Pounds')");


This worked for me when adding a new enum value to the modified enum column.

Add the following to the up() method:

DB::statement("ALTER TABLE packages MODIFY weight_unit ENUM('Grams', 'Kgs', 'Pounds', 'new value') NOT NULL");

Then in the down() method you can revert the change that was made:

DB::statement("ALTER TABLE packages MODIFY weight_unit ENUM('Grams', 'Kgs', 'Pounds') NOT NULL");

Note: before the enum value is removed it needs to be changed to another enum value that will be retained.


$table->enum('level', ['easy', 'hard']);