Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过liquibase删除数据库中存在的事件?_Java_Mysql_Spring Boot_Liquibase - Fatal编程技术网

Java 如何通过liquibase删除数据库中存在的事件?

Java 如何通过liquibase删除数据库中存在的事件?,java,mysql,spring-boot,liquibase,Java,Mysql,Spring Boot,Liquibase,我在spring启动应用程序的liquibase(changelog.xml)文件中创建了一个mysql事件。当我更改事件体中的一些逻辑时,如果事件在db中已经存在,我想删除它。但执行下面的drop语句会导致mysql语法错误。 我应该如何处理此事件更新 <changeSet id="EVENT_ARCHIVE" author="jk" runOnChange="true"> <

我在spring启动应用程序的liquibase(changelog.xml)文件中创建了一个mysql事件。当我更改事件体中的一些逻辑时,如果事件在db中已经存在,我想删除它。但执行下面的drop语句会导致mysql语法错误。 我应该如何处理此事件更新

<changeSet id="EVENT_ARCHIVE" author="jk" runOnChange="true">
                    <sql endDelimiter="|">
                        DROP EVENT IF EXISTS event_archive_rcs_message_log;
                        SET GLOBAL event_scheduler="ON";
                        |
                        CREATE EVENT IF NOT EXISTS event_archive
                        ON SCHEDULE EVERY 7 DAY 
                        STARTS CURRENT_TIMESTAMP 
                        DO
                          some queries...!
                        End |
                     </sql>

</changeSet>

如果存在事件\u存档\u rcs\u消息\u日志,则删除事件;
设置全局事件调度程序=“开”;
|
创建事件(如果不存在)事件\u存档
按计划每7天
启动当前时间戳
做
一些疑问。。。!
结束|

您必须在所有脚本上使用指定的分隔符,而不是默认分隔符:

<changeSet id="EVENT_ARCHIVE" author="jk" runOnChange="true">
                    <sql endDelimiter="|">
                        DROP EVENT IF EXISTS event_archive_rcs_message_log |
                        SET GLOBAL event_scheduler="ON" |
                        CREATE EVENT IF NOT EXISTS event_archive
                        ON SCHEDULE EVERY 7 DAY 
                        STARTS CURRENT_TIMESTAMP 
                        DO
                          -- some queries with ';' as delimiter 
                        End |
                     </sql>

</changeSet>

如果存在删除事件事件\u存档\u rcs\u消息\u日志|
设置全局事件调度程序=“开”|
创建事件(如果不存在)事件\u存档
按计划每7天
启动当前时间戳
做
--带有“;”的一些查询作为定界符
结束|