web-dev-qa-db-ja.com

Laravelの一意の制約を元に戻すための移行を作成するにはどうすればよいですか?

テーブルのメールフィールドをuniqueにするためにこれを行います。

$table->unique('email');

私はもう試した

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

次に、php artisan migrateを実行すると、これが表示されます

enter image description here

そこにはないということですが、100%あると確信しています。

enter image description here

それを元に戻すマイグレーションをどのように記述しますか?

19
cyber8200

あなたはしなければなりません$table->dropUnique('users_email_unique');

インデックスを削除するには、インデックスの名前を指定する必要があります。 Laravelは、デフォルトで適切な名前をインデックスに割り当てます。テーブル名、インデックス内の列の名前、およびインデックスタイプを連結するだけです。

39
Ali Gajani

これはユニークをドロップするためのより良い方法です。ここでは実際の列名を使用できます。

$table->dropUnique(['email']);
10
Munna Khan