@johnmohnachev

Как через Flyway записать mysql trigger в базу?

Есть sql файл, содержащий:
DROP TRIGGER IF EXISTS update_run_result_trigger_update_runner_and_user_names;
CREATE TRIGGER update_run_result_trigger_update_runner_and_user_names
BEFORE UPDATE ON `Run_Result`
FOR EACH ROW
  BEGIN
    IF NEW.user_id != OLD.user_id AND NEW.user_id IS NOT NULL THEN
      SELECT first_name, last_name, nickname INTO @first_name, @last_name, @nickname FROM User WHERE id = NEW.user_id;
      SET NEW.user_name = RTRIM(LTRIM(CONCAT(IFNULL(@first_name, ''), ' ', IFNULL(@last_name, ''), ' ', IFNULL(@nickname, ''))));
    END IF;
    IF NEW.runner_id != OLD.runner_id AND NEW.runner_id IS NOT NULL THEN
      SELECT first_name, last_name INTO @first_name, @last_name FROM Runner WHERE id = NEW.runner_id;
      SET NEW.runner_name = RTRIM(LTRIM(CONCAT(IFNULL(@first_name, ''), ' ', IFNULL(@last_name, ''))));
    END IF;
  END;


Если этот код вставить через Database plugin для IDEA, данные sql отрабатывает без проблем.
uyO2UuQZsXrXryleAfgRuDNJor6wJa.png

Но если запустить процесс миграции через FlayWay поулчаю ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6

jO71jffqj278Kg2QWlCs4H6ebdjZ2t.png

Файл с логами
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 1
@johnmohnachev Автор вопроса
Убрал все табуляции и пробелы, вообщем написал в одну строчку, отработало
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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