<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>4.33.0</version>
<configuration>
<propertyFile>src/main/resources/liquibase.properties</propertyFile>
<changeLogFile>src/main/resources/db/changelog/db.changelog-master.yaml</changeLogFile>
<diffChangeLogFile>src/main/resources/db/changelog/changes/v1.0.2-changelog.mssql.sql</diffChangeLogFile>
</configuration>
<dependencies>
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-hibernate6</artifactId>
<version>4.33.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>3.5.5</version>
</dependency>
</dependencies>
</plugin>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>4.33.0</version>
</dependency>
These are the dependencies in my pom.xml. And this is my liquibase.properties:
url=jdbc:sqlserver://localhost:1433;databaseName=dbname;encrypt=false;trustServerCertificate=true
liquibase.command.defaultSchemaName=dbo
username=sa
password=password123
referenceUrl=hibernate:spring:com.application.middleware.entity?dialect=org.hibernate.dialect.SQLServerDialect
referenceDriver=liquibase.ext.hibernate.database.connection.HibernateDriver
When I generate diff using my entities, for fields where I use @Lob or @Column(length = Integer.MAX_VALUE) or @Column(columnDefinition = “NVARCHAR(MAX)”) etc. the generated changelog as either
message varchar(1), messageTemplate varchar(1)
or
message nvarchar(1), messageTemplate nvarchar(1)
I couldn’t find any other questions on this topic, and it was working fine for my postgres db.