首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过liquibase丢弃db中存在的事件?

如何通过liquibase丢弃db中存在的事件?
EN

Stack Overflow用户
提问于 2021-04-21 14:59:11
回答 1查看 59关注 0票数 0

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

代码语言:javascript
运行
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-21 15:02:52

必须在整个脚本中使用指定的分隔符,而不是默认的分隔符:

代码语言:javascript
运行
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67190733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档