Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro de inicialização do banco de dados MySQL do Spring Boot com procedimentos armazenados


A resposta acabou sendo muito simples. O Spring Boot possui uma propriedade separadora DataSource que pode ser configurada no arquivo application.properties:
spring.datasource.separator=^;

Em seguida, no arquivo schema.sql todos os ; instruções que não estão dentro do procedimento armazenado precisam ser atualizadas com o novo separador.
DROP PROCEDURE IF EXISTS `database`.FOO;
CREATE PROCEDURE `database`.FOO()

BEGIN
  SELECT * from `database`.employees;
END ^;