我们有一个RCP应用程序,它由许多单独的插件构建而成,可将应用程序数据保存和恢复到由多个表组成的单个用户可选数据库。随着时间的推移,数据库格式会发生变化,我们希望能够通过使用Flyway数据库迁移来管理这些更改。使用Flyway与RCP插件构建的RCP
一个解决方案是让每个插件执行自己的迁移(例如,在每个插件中调用Flyway.migrate),但这有一个缺点,即如果数据库中的表由多个插件共享,插件之间的迁移调用成为关键和问题。
更好的解决方案是进行单个Migrate调用,但问题在于如何将Java迁移脚本的类路径提供给Flyway实例,特别是由于Eclipse插件类的延迟加载所需的迁移代码可能尚未加载。这对于基于SQL的迁移脚本来说不是问题,因为API支持这一点 - 它不支持基于类路径的搜索。
问题是,有没有办法确保当从单个插件调用Flyway.migrate()时,迁移脚本的所有类路径都可以通过flyway扫描器类发现?
不胜感激的任何建议...
每个Eclipse插件都有其自己的单独的类路径,只包含它的依赖关系。您无法使用类路径在其他插件中找到内容。 –