1 package com.supwisdom.multitenant.datasource.impl;
3 import com.supwisdom.multitenant.TenantDetails;
4 import com.supwisdom.multitenant.datasource.MultiTenantDataSourceProvider;
5 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
6 import org.springframework.context.annotation.Configuration;
7 import org.springframework.util.StringUtils;
10 @ConditionalOnExpression("${spring.jpa.database-platform:postgresql}")
11 public class PostgresDataSourceProvider implements MultiTenantDataSourceProvider {
13 public String getTenantSQL(TenantDetails details) {
14 if (details == null || details.getDbSchema() == null
15 || StringUtils.isEmpty(details.getDbSchema())) {
16 return getDefaultSQL();
18 return String.format("set search_path \"%s\", public; ", details.getDbSchema());
22 public String getDefaultSQL() {
23 return "set search_path public;";