在服务运行时从类路径执行 .sql 文件
Posted
技术标签:
【中文标题】在服务运行时从类路径执行 .sql 文件【英文标题】:Executing .sql files from classpath, while the service is running 【发布时间】:2022-01-24 06:09:49 【问题描述】:我正在做一个项目,我需要以下功能:
我有一个 Springboot Tomcat 服务器正在运行,我想要的是能够自动扫描特定位置的 .SQL 文件并在特定数据库中执行上述 DML 和 DDL 命令。但是我希望它是动态的,当一个新文件添加到该位置时,它就会被拾取并执行。
我试过 Flyway,但它只在启动时从路径中选择文件。有没有有效的方法来做到这一点?我想到的一种方法是安排 CRON 并定期扫描文件路径并执行所有 SQL 文件并在 DB 表上设置过程以防止不必要的更新(执行之前已经完成的更新)。
【问题讨论】:
【参考方案1】:Flyway 不仅可以在启动时执行,还可以调用mvn flyway:migrate
您可以尝试按照here 的描述以编程方式执行 mvn
【讨论】:
以上是关于在服务运行时从类路径执行 .sql 文件的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Windows 上运行时从可执行文件中定位函数?