Добавление столбца NOT NULL в существующую таблицу в Laravel SQLite - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь добавить внешний ключ в существующую таблицу:

public function up()
{
    Schema::table('employee', function (Blueprint $table) {
        $table->uuid("agency_id");
    }
}

и SQLite выдает ошибку:

Общая ошибка: 1 Не удается добавить NOT NULL столбец со значением по умолчанию NULL (SQL: изменить таблицу «сотрудники» добавить столбец «agency_id» varchar не null)

Я не могу добавить значение по умолчанию для пустой строки, так как типом является UUID. Что я могу сделать?

1 Ответ

0 голосов
/ 17 июня 2020

SQLite обычно выбирает NULL, но вы указали, что оно не может быть NULL, так что это должно быть? У него нет возможности узнать.

При добавлении таблицы с нуля вы можете указать NOT NULL. Однако вы не можете этого сделать при добавлении столбца. В спецификации SQLite указано, что для этого необходимо использовать значение по умолчанию. Вы можете указать значение по умолчанию, например:

public function up()
{
    Schema::table('employee', function (Blueprint $table) {
        $table->uuid("agency_id")->nullable();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...