Миграция, когда данные предотвращают изменение - PullRequest
0 голосов
/ 20 марта 2019

Я знаю, что вы не должны манипулировать данными внутри вашей миграции.

Однако мне нужно сделать столбец обнуляемым с уникальными значениями, но на данный момент он имеет дублирующиеся значения (в настоящее время это своего рода заполнители), что может нарушить миграцию.

Это моя (Laravel) миграция:

public function up()
{
    Schema::table('user_subscriptions', function (Blueprint $table) {
        $table->string('cc_auth_code', 50)->comment('Approval Code')->change();
        $table->string('guid', 100)
            ->comment('Transaction ID')->nullable()->default(null)->change();
    });

    // for some reason this does not work inside the callback
    UserSubscription::whereGuid('UNKNOWN_GUID')->update(['guid' => null]);

    Schema::table('user_subscriptions', function (Blueprint $table) {
        $table->unique('guid');
    });
}

Есть ли лучший способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...