首页 > 解决方案 > R2DBC 和 liquibase

问题描述

所以开始一个新项目,我想使用 r2dbc 和 webflux,一直在研究有什么支持来处理数据库迁移。我在这里能找到的最后一个答案是从 2019 年 7 月开始,liquibase 不支持 R2DBC,在谷歌搜索之后,情况似乎仍然如此。

梦想是r2dbc-h2在本地开发时使用,然后在生产过程中使用类似 postgres 的东西。Liquibase 将在本地和生产中管理表结构。

一直在尝试用谷歌搜索一下这种设置的外观,但那里的信息很少。

我一直在考虑使用 设置表格liquibase-maven-plugin,但我不知道这是否适用于r2dbc-h2.

所以几个问题:

这对我来说是一个非常黑洞,有任何信息吗?

标签: spring-bootliquibasespring-webfluxr2dbc

解决方案


我认为在应用程序中使用 2 个驱动程序应该没有问题。由于 liquibase 使用标准 jdbc 驱动程序,您可以将其配置为使用该驱动程序进行迁移并配置 r2dbc 以运行应用程序。也许需要完成一些 tweeks 但我会从以下内容开始:

spring:
  liquibase:
    url: jdbc:postgresql://localhost:5432/mydb
    user: postgres
  r2dbc:
    url: r2dbc:postgresql://localhost:5432/mydb
    username: postgres

并包括两个库:

io.r2dbc:r2dbc-postgresql
org.postgresql:postgresql

如果有错误,请让我们发布。

注意:对于测试,您也可以使用 testcontainers 或嵌入式 postgresql


推荐阅读