What is the 'compuated changed' diff message?

Liquibase 4.11.0
SQL Server 2017

I received this messsage after performing a diff:
computed changed from ‘null’ to ‘false’

I don’t understand what this message means. The column in question is a bit NULL column in both databases.

I looked at the Liquibase code and it seems like this message comes from the Difference ctor which has this code:
if (message == null) {
message = field+" changed from ‘“+referenceValue+”’ to ‘“+comparedValue+”’";

That ctor is called higher in the call chain from only 2 places in DatabaseObjectComparatorChain.findDifferences(). But neither place uses the above message so I’m not sure where the message comes from.

Would somebody be able to describe what this message means?


Hi @Chris - Welcome to the Liquibase community!

Are you comparing two different databases? Two versions of the same database? Are both databases SQL Server 2017? Are they both live versions or are you comparing a snapshot of an older version? This error indicates a difference in the values coming back. Knowing what two things you’re comparing would help. Seeing a difference like that doesn’t really make sense, as it should be setting it to NULL all the time.

Hi, to answer your questions:

I am comparing two different databases.
They are the same version of SQL Server 2017 but they’re 2 separate servers.
I am comparing a snapshot of DB1 with live DB2.

When you say ‘…indicates a difference in the values…’, are you talking about the column values? I thought that the diff compared only the schemas.

I don’t understand the sentence ‘…it should be setting it to NULL all the time.’ I think the two ‘it’ words refer to 2 different nouns? I’m laughing to myself as I write this :slight_smile: Would you help me understand what that means?

I am running this diff to ensure the two databases are identical in schema.

Thank you for your help.