复古 护眼 海天 深邃 暗黑 默认

Testcontainers

ShardingSphere 默认情况下不提供对 org.testcontainers.jdbc.ContainerDatabaseDriverdriverClassName 的支持。 要在 ShardingSphere 的配置文件为数据节点使用类似 jdbc:tc:postgresql:17.1-bookworm://test-native-databases-postgres/demo_ds_0jdbcUrl, 可能的 Maven 依赖关系如下,

<dependencies>
    <dependency>
        <groupId>org.apache.shardingsphere</groupId>
        <artifactId>shardingsphere-jdbc</artifactId>
        <version>${shardingsphere.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.shardingsphere</groupId>
        <artifactId>shardingsphere-infra-database-testcontainers</artifactId>
        <version>${shardingsphere.version}</version>
    </dependency>
    <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>postgresql</artifactId>
        <version>1.20.3</version>
        <scope>test</scope>
    </dependency>
</dependencies>

org.apache.shardingsphere:shardingsphere-infra-database-testcontainers 为 testcontainers-java 分格的 jdbcURL 提供支持, 包括但不限于,

  1. jdbc:tc:clickhouse: 的 jdbcURL 前缀提供支持的 Maven 模块 org.testcontainers:clickhouse:1.20.3
  2. jdbc:tc:postgresql: 的 jdbcURL 前缀提供支持的 Maven 模块 org.testcontainers:postgresql:1.20.3
  3. jdbc:tc:sqlserver: 的 jdbcURL 前缀提供支持的 Maven 模块 org.testcontainers:mssqlserver:1.20.3
  4. jdbc:tc:mariadb: 的 jdbcURL 前缀提供支持的 Maven 模块 org.testcontainers:mariadb:1.20.3
  5. jdbc:tc:mysql: 的 jdbcURL 前缀提供支持的 Maven 模块 org.testcontainers:mysql:1.20.3
  6. jdbc:tc:oracle: 的 jdbcURL 前缀提供支持的 Maven 模块 org.testcontainers:oracle-xe:1.20.3org.testcontainers:oracle-free:1.20.3
  7. jdbc:tc:tidb: 的 jdbcURL 前缀提供支持的 Maven 模块 org.testcontainers:tidb:1.20.3