@stepan-neretin7

Как добавить nullable к данному поле?

Есть сначала такая миграция => Тык
Мне надо добавить к cards.city_id null(чтобы их можно было)
Создал такую миграцию
Schema::table('cards', function (Blueprint $table) {
            $table->integer('city_id')->nullable()->change();
        });


Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1832 Cannot change column 'city_id': used in a foreign key constraint 'cards_city_id_foreign' (SQL: ALTER TABLE cards CHANGE city_id city_id INT DEFAULT NULL)
ВЫлезла такая ошибка

Как мне быть?
  • Вопрос задан
  • 473 просмотра
Пригласить эксперта
Ответы на вопрос 2
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
Удалите внешний ключ, потом сделайте поле nullable. После этого снова создайте внешний ключ.
Ответ написан
Комментировать
1. DB::statement('SET FOREIGN_KEY_CHECKS = 0;');
2. Затем сделай поле nullable.
3. Затем снова
DB::statement('SET FOREIGN_KEY_CHECKS = 1;');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы