我的用例和业务需求有点不寻常,所以请耐心等待:(
我正在使用Spring boot
构建一个桌面应用程序。现在,为了支持离线工作,它必须有一个嵌入式的基于本地文件的数据库,但在这里它变得很棘手,因为客户端应用程序必须支持多个不同的用户,并且他们的数据不应该冲突(这意味着用户应该能够很容易地删除他们自己的特定数据库(,因此他们应该在不同的数据库或模式中分开。由于使用该应用程序的用户的编号或身份不是预先确定的,因此需要在登录操作时定期创建架构或数据库。为用户创建数据库/模式后,需要运行迁移以创建适当的表并从服务器获取数据。
我已经成功地设置了multi-tennant应用程序,但只成功地使其与预定义的数据库一起工作。另一个挑战是在运行时手动运行flyway
迁移。
我在网上搜索了参考资料,但没有运气
这将有助于在运行时在Java代码中运行flyway迁移。现在,您可以选择在应用程序中的任何位置触发此操作,并将数据库/模式名称作为变量传递给您的bean方法