diff --git a/src/java/src/main/java/org/openapitools/config/DataSourceConfig.java b/src/java/src/main/java/org/openapitools/config/DataSourceConfig.java index 32e3e9d4..ef04e321 100644 --- a/src/java/src/main/java/org/openapitools/config/DataSourceConfig.java +++ b/src/java/src/main/java/org/openapitools/config/DataSourceConfig.java @@ -205,7 +205,7 @@ private void configureCloudSqlProperties(HikariConfig config, String jdbcUrl) { } config.addDataSourceProperty("socketFactory", "com.google.cloud.sql.postgres.SocketFactory"); - config.addDataSourceProperty("unixSocketPath", instanceUnixSocket); + config.addDataSourceProperty("ipTypes", "PUBLIC,PRIVATE"); String cloudSqlInstance = extractCloudSqlInstance(instanceUnixSocket); if (isNotBlank(cloudSqlInstance)) { config.addDataSourceProperty("cloudSqlInstance", cloudSqlInstance); diff --git a/src/java/src/test/java/org/openapitools/config/DataSourceConfigTest.java b/src/java/src/test/java/org/openapitools/config/DataSourceConfigTest.java index 01c15608..f858a775 100644 --- a/src/java/src/test/java/org/openapitools/config/DataSourceConfigTest.java +++ b/src/java/src/test/java/org/openapitools/config/DataSourceConfigTest.java @@ -94,8 +94,9 @@ void hikariConfig_ShouldNormalizeCloudSqlSocketStyleDatabaseUrl() throws Excepti + "&password=redacted-password"); assertThat(result.getDataSourceProperties()) .containsEntry("socketFactory", "com.google.cloud.sql.postgres.SocketFactory") - .containsEntry("unixSocketPath", "/cloudsql/project-id:region:instance-id") + .containsEntry("ipTypes", "PUBLIC,PRIVATE") .containsEntry("cloudSqlInstance", "project-id:region:instance-id") + .doesNotContainKey("unixSocketPath") .doesNotContainKey("cloudSqlRefreshStrategy"); } @@ -120,8 +121,9 @@ void hikariConfig_ShouldSetCloudSqlRefreshStrategyOnCloudRunInSocketMode() throw assertThat(result.getDataSourceProperties()) .containsEntry("socketFactory", "com.google.cloud.sql.postgres.SocketFactory") - .containsEntry("unixSocketPath", "/cloudsql/project-id:region:instance-id") + .containsEntry("ipTypes", "PUBLIC,PRIVATE") .containsEntry("cloudSqlInstance", "project-id:region:instance-id") + .doesNotContainKey("unixSocketPath") .containsEntry("cloudSqlRefreshStrategy", "lazy"); } diff --git a/src/kotlin/src/main/kotlin/com/lampcontrol/database/DatabaseFactory.kt b/src/kotlin/src/main/kotlin/com/lampcontrol/database/DatabaseFactory.kt index 90b737b4..694ecb9d 100644 --- a/src/kotlin/src/main/kotlin/com/lampcontrol/database/DatabaseFactory.kt +++ b/src/kotlin/src/main/kotlin/com/lampcontrol/database/DatabaseFactory.kt @@ -75,7 +75,7 @@ object DatabaseFactory { } hikariConfig.addDataSourceProperty("socketFactory", CLOUD_SQL_SOCKET_FACTORY) - hikariConfig.addDataSourceProperty("unixSocketPath", config.host) + hikariConfig.addDataSourceProperty("ipTypes", "PUBLIC,PRIVATE") val cloudSqlInstance = extractCloudSqlInstance(config.host) if (cloudSqlInstance != null) { hikariConfig.addDataSourceProperty("cloudSqlInstance", cloudSqlInstance)