2014-02-08 5 views
0

Мне нужно вставить объемные данные в таблицы и отложить проверку ограничений внешнего ключа до фиксации транзакции.laravel schema builder: проверка отложенных ограничений

как в PostgreSQL, NOT DEFERRABLEis the default Ограничение типа (MySQL InnoDB does not support откладываемые ограничения на всех), как я могу изменить это значение по умолчанию в пределах миграции?

ответ

0

Вы всегда можете запустить raw MySQL, используя DB::raw('...'). Это должно сделать трюк:

DB::raw('SET foreign_key_checks = 0;'); 

http://laravel.com/docs/queries

+0

я просто делаю это, но это (хак) подход имеет большой недостаток: нет никакого способа, чтобы быть уверенными, если все ограничения передаются после того, как основные вставка записей (путем установки foreign_key_checks = 0 в начале и foreign_key_checks = 1 в конце) – pajooh

Смежные вопросы