@kamwork

Как побороть переход на Postgres и проблему с FOREIGN KEY?

Всем привет.
Использую компонент Laratrust для ролей в проекте.
В нем есть таблица:

// Create table for associating roles to users (Many-to-Many)
        Schema::create('role_user', function (Blueprint $table) {
            $table->integer('user_id')->unsigned();
            $table->integer('role_id')->unsigned();

            $table->foreign('user_id')->references('id')->on('users')
                ->onUpdate('cascade')->onDelete('cascade');
            $table->foreign('role_id')->references('id')->on('roles')
                ->onUpdate('cascade')->onDelete('cascade');

            $table->primary(['user_id', 'role_id']);
        });


При попытке сделать Seed, получаю ошибку:

6b464acc474c4126801e8427e030f16c.jpg8fc0d624a58f4a20b589a597e47a14db.jpg

Подскажите, куда копать?
  • Вопрос задан
  • 1518 просмотров
Решения вопроса 1
egor_nullptr
@egor_nullptr
SET FOREIGN_KEY_CHECKS работает только в MySQL, в Postgres такого нет, надо отключать по одной таблице.
ALTER TABLE permission_role DISABLE TRIGGER ALL - отключить
ALTER TABLE permission_role ENABLE TRIGGER ALL - включить
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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