Laravel 5.7 Миграция - ограничение проверки на сброс в PostgresQL - PullRequest
0 голосов
/ 11 октября 2019

Я изменил свою таблицу пользователей с помощью пользовательского ограничения проверки, чтобы предотвратить сохранение нулевых паролей, если пользователь не был создан с помощью единого входа, ссылаясь на этот вопрос , с помощью этого оператора БД:

DB::statement("ALTER TABLE skillsdb.users ADD CONSTRAINT chk_password_null CHECK (COALESCE(password, '') <> '' OR is_sso)");

И это прекрасно работает. Однако проблема заключается в части перехода «down ()». Этот оператор выдает ошибки:

DB::statement("ALTER TABLE skillsdb.users DROP CONSTRAINT chk_password_null");

Даже если копирование / вставка этого запроса непосредственно в мою консоль PostgresQL работает как задумано. Вот точная ошибка:

Rolling back: 2019_10_11_124350_add_sso_users

In Connection.php line 664:

  SQLSTATE[42704]: Undefined object: 7 ERROR:  constraint "chk_password_null"
   of relation "users" does not exist (SQL: ALTER TABLE skillsdb.users DROP C
  ONSTRAINT chk_password_null)


In PDOStatement.php line 119:

  SQLSTATE[42704]: Undefined object: 7 ERROR:  constraint "chk_password_null"
   of relation "users" does not exist


In PDOStatement.php line 117:

  SQLSTATE[42704]: Undefined object: 7 ERROR:  constraint "chk_password_null"
   of relation "users" does not exist

Для ясности, я трижды проверил ограничение , существует ли , и что запрос отката работает, когда передается непосредственно в postgres. Есть идеи, почему ремесленник умоляет?

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