【发布时间】:2021-05-08 10:25:20
【问题描述】:
我有 2 个微服务(ms-one 和 ms-two)
在ms-one中,我已经使用flyway实现了数据库迁移。它正在按预期工作。即:在应用程序启动时,我所有新添加的 SQL 脚本都会被触发并使相关的数据库保持最新。此外,该数据库中有一个表(权限),它有 2 列类似于 ms-two 权限表。
例子:
permission (id, permission_name, service_id, has_access, is_new)
在 ms-two 中,我有一个插入 API,可以在 ms-two 权限表中插入记录。此权限表中的记录与 ms-one 权限表中的记录(少列)类似。
例子:
permission (id, permission_name)
现在,我的任务是,在服务器启动时,我应该检查 ms-one 权限表中是否有任何新条目,如果是,则使用 INSERT 在 ms-2 权限表中插入这些 ID 和 NAME API。我有一个专栏,我可以知道权限是否是新的,但想知道是否可以在 flyway 中调用不同微服务的 API(在我的情况下,我想调用 ms-two INSERT API 以获得权限) .
【问题讨论】:
-
我不确定 Flyway 是否可以处理这个问题,但是 Flyway 会触发一些事件和回调。您可以尝试捕获这些事件并在飞行路径执行之前或之后手动运行插入语句到 ms_two。老实说,到目前为止我还没有自己尝试过。
标签: java spring spring-boot microservices flyway