Diff doesn't see new column

When i do diff it creates log with drop tables that exists in db and exists in model
and there is no changes of my new test column.
referenceUrl links
<referenceUrl>hibernate:spring:kz.csi.stat.csc.modules?dialect=org.hibernate.dialect.PostgreSQL9Dialect&amp;hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&amp;hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>

my entity looks like

@Entity(name = "dict_unit")
data class DictUnitEntity (

        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        val id: Long?,

        @Column(length = 5000)
        val test: String?
)

new column “test” which not exists in db and it is missing in log file that created after diff

diff log contains this and more like this

   <changeSet author="larix (generated)" id="1614165717721-40">
        <dropTable tableName="dict_unit"/>
    </changeSet>

Maybe I don’t understand diff command?

Hi @rolton ,

Would you share:

  • the exact liquibase command you are running?
  • the contents of your liquibase.properties file (redact passwords please). At the bare minimum need to see the url, refurl, and classpath
  • the output from running liquibase? (please use logLevel=DEBUG)

This info would help us determine the exact command used, and if correct we can try and reproduce.

mvn liquibase:diff
or

                   <execution>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>diff</goal>
                        </goals>
                    </execution>
config
<configuration>
                    <changeLogFile>${project.basedir}/src/main/resources/config/liquibase/master.xml</changeLogFile>
                    <diffChangeLogFile>${project.basedir}/src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
                    <driver>org.postgresql.Driver</driver>
                    <url>jdbc:postgresql://localhost:5432/test</url>
                    <defaultSchemaName></defaultSchemaName>
                    <username>FreshHipster</username>
                    <password></password>
                    <referenceUrl>hibernate:spring:kz.csi.stat.csc.modules.dict.data?dialect=org.hibernate.dialect.PostgreSQLDialect&amp;hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&amp;hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>
                    <verbose>true</verbose>
                    <logging>debug</logging>
                    <logLevel>debug</logLevel>
                    <contexts>!test</contexts>
                    <diffTypes>tables,columns,foreignkeys,primarykeys,uniqueconstraints</diffTypes>
                    <liquibaseProLicenseKey>key</liquibaseProLicenseKey>
                </configuration>
output
[INFO] Reading hibernate configuration hibernate:spring:kz.csi.stat.csc.modules.dict.data?dialect=org.hibernate.dialect.PostgreSQLDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
[INFO] Found package kz.csi.stat.csc.modules.dict.data
[INFO] HHH000204: Processing PersistenceUnitInfo [name: default]
[INFO] HHH000412: Hibernate ORM core version 5.4.27.Final
[INFO] HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
[WARNING] HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections
[WARNING] HHH000342: Could not obtain connection to query metadata
java.lang.UnsupportedOperationException: The application must supply JDBC connections
    at org.hibernate.engine.jdbc.connections.internal.UserSuppliedConnectionProviderImpl.getConnection (UserSuppliedConnectionProviderImpl.java:44)
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection (JdbcEnvironmentInitiator.java:180)
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService (JdbcEnvironmentInitiator.java:68)
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService (JdbcEnvironmentInitiator.java:35)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService (StandardServiceRegistryImpl.java:101)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService (AbstractServiceRegistryImpl.java:263)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService (AbstractServiceRegistryImpl.java:237)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService (AbstractServiceRegistryImpl.java:214)
    at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices (DefaultIdentifierGeneratorFactory.java:152)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies (AbstractServiceRegistryImpl.java:286)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService (AbstractServiceRegistryImpl.java:243)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService (AbstractServiceRegistryImpl.java:214)
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init> (InFlightMetadataCollectorImpl.java:176)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete (MetadataBuildingProcess.java:127)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata (EntityManagerFactoryBuilderImpl.java:1224)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build (EntityManagerFactoryBuilderImpl.java:1255)
    at liquibase.ext.hibernate.database.HibernateEjb3Database.buildMetadataFromPath (HibernateEjb3Database.java:59)
    at liquibase.ext.hibernate.database.HibernateDatabase.buildMetadata (HibernateDatabase.java:143)
    at liquibase.ext.hibernate.database.HibernateDatabase.setConnection (HibernateDatabase.java:83)
    at liquibase.database.DatabaseFactory.findCorrectDatabaseImplementation (DatabaseFactory.java:121)
    at liquibase.database.DatabaseFactory.openDatabase (DatabaseFactory.java:141)
    at liquibase.integration.commandline.CommandLineUtils.createDatabaseObject (CommandLineUtils.java:96)
    at org.liquibase.maven.plugins.LiquibaseDatabaseDiff.performLiquibaseTask (LiquibaseDatabaseDiff.java:222)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$null$0 (AbstractLiquibaseMojo.java:451)
    at liquibase.Scope.lambda$child$0 (Scope.java:160)
    at liquibase.Scope.child (Scope.java:169)
    at liquibase.Scope.child (Scope.java:159)
    at liquibase.Scope.child (Scope.java:138)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$execute$1 (AbstractLiquibaseMojo.java:377)
    at liquibase.Scope.lambda$child$0 (Scope.java:160)
    at liquibase.Scope.child (Scope.java:169)
    at liquibase.Scope.child (Scope.java:159)
    at liquibase.Scope.child (Scope.java:138)
    at liquibase.Scope.child (Scope.java:222)
    at liquibase.Scope.child (Scope.java:226)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:306)
    at org.liquibase.maven.plugins.LiquibaseDatabaseDiff.execute (LiquibaseDatabaseDiff.java:187)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions (MojoExecutor.java:355)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:200)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[INFO] HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
[INFO] Envers integration enabled? : true
[INFO] HHH10005002: No explicit CDI BeanManager reference was passed to Hibernate, but CDI is available on the Hibernate ClassLoader.
[INFO] HV000001: Hibernate Validator 6.0.17.Final
[INFO] HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
[INFO] HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
[INFO] Using dialect org.hibernate.dialect.PostgreSQLDialect
[INFO] Performing Diff on database FreshHipster @ jdbc:postgresql://localhost:5432/test (Default Schema: public)
INFO This command might not yet capture Liquibase Pro additional object types on hibernateSpringPackage
.
.
.
[INFO] Found table dict_unit
[INFO] Found table dict_unit
.
.
.
[INFO] Found unique constraint UC_DICT_SPHERECODE_COL on dict_sphere(code)
[INFO] Found primary key dict_spherePK
[INFO] Found column id int8
[INFO] Found column code varchar(255)
[INFO] Found column create_date timestamp
[INFO] Found column description varchar(5000)
[INFO] Found column name_en varchar(5000)
[INFO] Found column name_kz varchar(5000)
[INFO] Found column name_ru varchar(5000)
[INFO] Found column parent_id int8
[INFO] Found column update_date timestamp
[INFO] Found table dict_unit_stat
[WARNING] Hibernate primary key name is probably truncated. dict_unit_staPK
[WARNING] Changing hibernate primary key name to dict_unit_statPK
[INFO] Found primary key dict_unit_statPK
[INFO] Found column id int8
[INFO] Found column code varchar(255)
[INFO] Found column name_kz varchar(5000)
[INFO] Found column name_ru varchar(5000)
[INFO] Found column par_id int8
[INFO] Found table dict_unit
[INFO] Found unique constraint UC_DICT_UNITCODE_COL on dict_unit(code)
[INFO] Found primary key dict_unitPK
[INFO] Found column id int8
[INFO] Found column code varchar(255)
[INFO] Found column create_date timestamp
[INFO] Found column description varchar(5000)
[INFO] Found column name_en varchar(5000)
[INFO] Found column name_kz varchar(5000)
[INFO] Found column name_ru varchar(5000)
[INFO] Found column parent_id int8
[INFO] Found column test varchar(5000)
[INFO] Found column test10 varchar(5000)
[INFO] Found column test11 varchar(5000)
[INFO] Found column update_date timestamp
[INFO] Found table dict_integration_category
[INFO] Found unique constraint UC_DICT_INTEGRATION_CATEGORYCODE_COL on dict_integration_category(code)
.
.
.
BEST PRACTICE: The changelog generated by diffChangeLog/generateChangeLog should be inspected for correctness and completeness before being deployed.
[INFO] changeSets count: 43
[INFO] {prfojectfolder}\src\main\resources\config\liquibase\changelog\20210225081210_changelog.xml does not exist, creating and adding 43 changesets.
[INFO] Differences written to Change Log File, {prfojectfolder}/src/main/resources/config/liquibase/changelog/20210225081210_changelog.xml