Я пытаюсь создать триггер MySQL с помощью миграции мастеров.Laravel Migration DELIMITER
DB::unprepared('
DELIMITER $$
CREATE TRIGGER cascade_courseAffinity_after_facultyAffinity
AFTER DELETE ON faculty_affinities
FOR EACH ROW
BEGIN
DELETE ca
FROM course_affinities AS ca
JOIN courses AS course1 ON ca.course1_id = course1.id
JOIN courses AS course2 ON ca.course2_id = course2.id
WHERE (course1.faculty_id = OLD.faculty1_id OR course1.faculty_id = OLD.faculty2_id)
AND (course2.faculty_id = OLD.faculty1_id OR course2.faculty_id = OLD.faculty2_id);
END
$$
');
Тем не менее, когда я запускаю миграцию, я получаю ошибку
SQLSTATE[]: Syntax error... near DELIMITER $$ at line 1
помочь кому-то?
Edit 1: это те файлы, миграции я использую на MySQL
создать «курсы» стол с один ко многим отношений с факультета (faculty_id).
Schema::create('courses', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 150);
$table->integer('faculty_id')->unsigned();
$table->foreign('faculty_id')->references('id')->on('faculties');
$table->boolean('active')->default(1);
//$table->softDeletes();
});
Создать таблицу «факультеты».
Schema::create('faculties', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 150)->unique();
$table->boolean('active')->default(1);
//$table->softDeletes();
});
Создайте таблицу «course_affinities» со многими отношениями между отношениями между собой.
Schema::create('course_affinities', function (Blueprint $table) {
$table->increments('id');
$table->integer('course1_id')->unsigned();
$table->foreign('course1_id')->references('id')->on('courses');
$table->integer('course2_id')->unsigned();
$table->foreign('course2_id')->references('id')->on('courses');
$table->boolean('active')->default(1);
//$table->softDeletes();
});
Создайте таблицу «faculty_affinities» с отношением между многими и многими отношениями между способностями.
Schema::create('faculty_affinities', function (Blueprint $table) {
$table->increments('id');
$table->integer('faculty1_id')->unsigned();
$table->foreign('faculty1_id')->references('id')->on('faculties');
$table->integer('faculty2_id')->unsigned();
$table->foreign('faculty2_id')->references('id')->on('faculties');
$table->boolean('active')->default(1);
//$table->softDeletes();
});
Создал ли какой-либо файл миграции? – Laerte
Да. У меня несколько миграций. Это единственная ошибка. –
Можете ли вы отредактировать сообщение с кодом перехода? – Laerte