It was because our diff comparison for missing columns was not checking
for nullability.  I put a new snapshot up at
http://www.liquibase.org/liquibase-SNAPSHOT.jar  see if that is better.

 

Nathan

 

From: Animesh Jain [mailto:anim...@itasveer.com] 
Sent: Thursday, April 09, 2009 2:15 AM
To: liquibase-user@lists.sourceforge.net
Subject: [Liquibase-user] Diff not generating Not Null constraint on
thefirst go..

 

Hi

I have a database (db1) with a user table, say

user (db1)
-------
id (INT)
name (VARCHAR)
email (VARCHAR)

I make a new database (db2) with the an added row called create_date
which is NOT NULL

user (db2)
------
id (INT)
name (VARCHAR)
email (VARCHAR)
create_date (DATETIME NOT NULL)

Now when I diff the two databases I get

    <changeSet author="user (generated)" id="1239260542656-1">
        <addColumn tableName="user">
            <column name="create_date" type="DATETIME"/>
        </addColumn>
    </changeSet>

No constraint. However, when I update my database (db1) using this
changeset and run diff again, I get

    <changeSet author="user (generated)" id="1239260580140-1">
        <addNotNullConstraint columnDataType="DATETIME"
columnName="create_date" defaultNullValue="" tableName="user"/>
    </changeSet>

The constraint appears only now, on the _second_ diff. It seems like a
bug. Or is it intended functionality. If so, whats the rationale. I'm
trying this on MySQL 5.0.51 on windows.

Thanks
Animesh

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Liquibase-user mailing list
Liquibase-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/liquibase-user

Reply via email to