/** To drop an index you must specify the index's name.
Laravel assigns a reasonable name to the indexes by default.
Simply concatenate the table name, the names of the column in the index,
and the index type **/
// Format of unique key tableName_column_unique
$table->dropUnique('users_email_unique');
// There are two ways to handle this:
// 1. You can simply pass the column name wrapped in an array
// and let laravel sort out the rest:
Schema::table('users', function (Blueprint $table) {
$table->dropUnique(['email']);
// $table->dropIndex(['email']); --> this pattern also works for other constraints/indexes like this
});
// 2. You can remember the way laravel formats index names ([TABLE_NAME]_[COLUMN_NAME]_unique),
// and pass that as a string:
Schema::table('users', function (Blueprint $table) {
$table->dropUnique('users_email_unique');
});
//The UNique need be a constraint name
// This name has this format:
// [TABLE_NAME]_[COLUMN_NAME]_unique
// For 'users' table and 'user_code' column, whe get the name:
// users_user_code_unique
$table->dropUnique('users_user_code_unique');
//The inverst is
$table->unique('user_code');