[英]Using Liquibase with Azure SQL And Azure Active Directory Authentication
如何将 Liquibase 与 Azure SQL 数据库和 Azure Active Directory 身份验证结合使用? 具体来说,我想使用此处记录的 ActiveDirectoryPassword 身份验证模式进行连接:
我不知道如何调用 Liquibase CLI 来实现这一点。
这可能吗?
我能够让这个工作。 我对 Java 不是很熟悉(我们在 C# 项目中使用 Liquibase),所以我认为一些 Java 部分让我感到困惑。
我必须做一些事情才能完成这项工作:
--url="jdbc:sqlserver://REDACTED.database.windows.net;databaseName=REDACTED;authentication=ActiveDirectoryPassword;encrypt=true;trustServerCertificate=true"
ActiveDirectoryPassword告诉驱动程序使用我想要的身份验证机制。 我还必须添加 encrypt=true 和 trustServerCertificate=true 以避免出现一些 SSL 错误(来自: https : //docs.microsoft.com/en-us/sql/connect/jdbc/connecting-with-ssl-encryption ?view=sql-server-ver15 )。
我的类路径中需要 MSAL4J(Azure Active Directory)库。 我将它们添加到 liquibase/lib 目录,以便默认的 Liquibase 启动器脚本会为我添加它们。 我也注意到了这一点,因为我需要使用我们不使用的 Maven。 下载Maven后,我使用copy-dependencies插件下载了我需要的依赖。
mvn 依赖:复制依赖
这是我使用的简单 pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>1.6.3</version>
</dependency>
</dependencies>
</project>
我还将这些依赖项放在 liquibase/lib 目录中,以便它们自动包含在类路径中。 Microsoft 的说明有助于将我引导至正确的位置:
此外,不确定是否需要满足我的目标,但我升级到最新的 Liquibase (3.8.7) 和最新的 SQL Server 驱动程序 (8.2):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.