Her er den løsning, jeg fandt, som fungerer godt nok, selvom den ikke er ideel, da du skal ændre dit SQL-script.
I din application.properties
fil ændre egenskaben DataSource separator:
spring.datasource.separator=^;
Opdater derefter din schema.sql
fil til at se ud som følger:
CREATE PROCEDURE Alter_Table()
BEGIN
IF NOT EXISTS( SELECT NULL
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'test_table'
AND table_schema = 'test'
AND column_name = 'cc_test_id') THEN
alter table test_table add cc_test_id VARCHAR(128) NOT NULL;
END IF;
END ^;
call Alter_Table ^;
DELIMITER-kommandoen virker kun med MySQL CLI-klienten og Workbench og vil ikke fungere til Spring Boot-databaseinitialisering. Når du har fjernet DELIMITER kommandoerne, vil Spring Boot stadig give en undtagelse, da den ikke forstår ;
tegn i de lagrede procedurer er ikke separate sætninger, så du skal ændre datakildeseparatoregenskaben som en løsning.