liquibase does not process DEFAULT values correctly

Description

1. new database has been created

CREATE DEFAULT d_FALSE as 0
GO
CREATE DEFAULT d_TRUE as 1
GO

CREATE TABLE column_with_default
(
column_with_default bit NOT NULL
);
go
sp_bindefault 'd_FALSE', 'column_with_default.column_with_default'
go

2. liquibase has been started using the following command:

#!/bin/tcsh
set lb=/cygdrive/c/Software/liquibase/2.0.1/liquibase
set driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
set url="jdbc:sqlserver://localhost:1433;database=vn;integratedSequrity=true"
set user="vn"
set password=golive
set driver_cp="./sqljdbc-3.0.jar"
$lb --driver=${driver} \
--classpath="${driver_cp}" \
--url="${url}" \
--username="${user}" \
--password=${password} \
--changeLogFile="./localhost.vn.xml" \
generateChangeLog

It outputs the following messages:
liquibase.exception.DatabaseException: java.text.ParseException: Unknown bit value: CREATE DEFAULT d_FALSE as 0

Liquibase Home is not set.
Liquibase Home: /cygdrive/c/Software/liquibase/2.0.1
INFO 05.05.11 15:33:liquibase: Reading tables for vn @ jdbc:sqlserver://localhost:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificat
e=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCou
nt=true;encrypt=false;disableStatementPooling=true;databaseName=vn;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) ...
INFO 05.05.11 15:33:liquibase: Reading views for vn @ jdbc:sqlserver://localhost:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate
=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCoun
t=true;encrypt=false;disableStatementPooling=true;databaseName=vn;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) ...
INFO 05.05.11 15:33:liquibase: Reading foreign keys for vn @ jdbc:sqlserver://localhost:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCert
ificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpd
ateCount=true;encrypt=false;disableStatementPooling=true;databaseName=vn;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) ...
INFO 05.05.11 15:33:liquibase: Reading primary keys for vn @ jdbc:sqlserver://localhost:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCert
ificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpd
ateCount=true;encrypt=false;disableStatementPooling=true;databaseName=vn;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) ...
INFO 05.05.11 15:33:liquibase: Reading columns for vn @ jdbc:sqlserver://localhost:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertifica
te=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCo
unt=true;encrypt=false;disableStatementPooling=true;databaseName=vn;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) ...
Liquibase Update Failed: Unknown bit value: CREATE DEFAULT d_FALSE as 0
SEVERE 05.05.11 15:33:liquibase: Unknown bit value: CREATE DEFAULT d_FALSE as 0
liquibase.exception.DatabaseException: java.text.ParseException: Unknown bit value: CREATE DEFAULT d_FALSE as 0
at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.getColumnTypeAndDefValue(JdbcDatabaseSnapshotGenerator.java:402)
at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readColumn(JdbcDatabaseSnapshotGenerator.java:202)
at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readColumns(JdbcDatabaseSnapshotGenerator.java:335)
at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.createSnapshot(JdbcDatabaseSnapshotGenerator.java:244)
at liquibase.snapshot.DatabaseSnapshotGeneratorFactory.createSnapshot(DatabaseSnapshotGeneratorFactory.java:69)
at liquibase.diff.Diff.compare(Diff.java:63)
at liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:145)
at liquibase.integration.commandline.Main.doMigration(Main.java:624)
at liquibase.integration.commandline.Main.main(Main.java:116)
Caused by: java.text.ParseException: Unknown bit value: CREATE DEFAULT d_FALSE as 0
at liquibase.database.typeconversion.core.AbstractTypeConverter.convertToCorrectObjectType(AbstractTypeConverter.java:105)
at liquibase.database.typeconversion.core.AbstractTypeConverter.convertDatabaseValueToObject(AbstractTypeConverter.java:28)
at liquibase.database.typeconversion.core.MSSQLTypeConverter.convertDatabaseValueToObject(MSSQLTypeConverter.java:34)
at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.getColumnTypeAndDefValue(JdbcDatabaseSnapshotGenerator.java:400)
... 8 more

Environment

MS Windows XP SP3 (cygwin)
JDK 6.x
liquibase 2.0.1
ms sql server 2008
ms jdbc driver 3.0

Activity

Show:
Vitali Nashkevich
created the IssueMay 5, 2011 at 1:36 PM

Details

Reporter

Priority

Created May 5, 2011 at 1:36 PM
Updated May 5, 2011 at 1:36 PM

Flag notifications