В моем текущем состоянии модель базы данных, у меня есть таблица точек данных, которая имеет внешний ключ к таблице датчиков (datapoints.sensors_id -> Sensor.id).
Код, который я пытаюсь:
Код: Выделить всё
Route::get('/truncateData', function() {
DB::table('datapoints')->truncate();
DB::table('sensors')->truncate();
return 'Done...';
});
SQLSTATE[42000]: Синтаксическая ошибка или нарушение прав доступа: 1701 Невозможно
обрезать таблица, на которую есть ссылка в ограничении внешнего ключа
(
Код: Выделить всё
alerting.datapoints
FOREIGN KEY (
Код: Выделить всё
sensor_id
Код: Выделить всё
sensors (id
(SQL: усечение датчиков)
Я бы понял это ограничение, если бы порядок был обратным (сначала удаление датчиков), но когда точки данных пусты, с удалением датчиков проблем быть не должно. Я тоже пробовал:
Код: Выделить всё
DB::table('datapoints')->delete();
DB::table('sensors')->delete();
return 'Done...';
Это это нормальное поведение? Я что-то упустил?
Подробнее здесь: https://stackoverflow.com/questions/291 ... constraint