问题描述
是否可以使用r2dbc-mssql在属性文件中指定默认架构?
该连接在以下情况下可以正常工作
:spring:
r2dbc:
url: 'r2dbc:mssql://zzzzz.database.windows.net:1433/dbname'
username: 'xxxxxx'
password: 'xxxxxx'
但是我必须使用静态模式:
@Table("schemaname.foo")
public class Foo {
@Id
private Long id;
我在r2dbc-postgresql中找到了类似的东西: https://github.com/pgjdbc/r2dbc-postgresql/issues/37
解决方法
在Spring Boot应用程序中,我认为您可以执行sql语句来切换@PostConstruct
类的@Configuration
方法中的模式。
@Configuration
class DatabaseConfig{
@Autowired
ConnectionFactory connectionFactory;
@PostConstruct
void init(){
Mono.from(connectionFactory.getConnection())
.flatMap(c->c.createStatement("switch to your schema here,different database has different commands here").execute())
.subscribe()
}
}