How to write a migrate to undo the unique constraint in Laravel?

cyber8200 picture cyber8200 · Jun 3, 2015 · Viewed 16.3k times · Source

I would do this to make my email field unique in the table.

$table->unique('email');

I've tried

public function up()
{
    Schema::table('contacts', function(Blueprint $table)
    {
        $table->dropUnique('email');
    });
}

Then, when I run php artisan migrate, I got this

enter image description here

It tell me that it's not there, but I'm 100% sure that it's there.

enter image description here

How do write a migration to undo that ?

Answer

Ali Gajani picture Ali Gajani · Jun 3, 2015

You have to do $table->dropUnique('users_email_unique');

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.