Syntax to eliminate Sequences from my createChangeLog command line call?

I am trying to run an initial createChangeLog to create an initial copy of my database.  The database is MsSql, which doesn’t use Sequences.  Liquibase is erroring out with the following error:

INFO 12/29/10 3:28 PM:liquibase: Reading sequences for XXX @ jdbc:sqlserver://XXX:1433;xopenStates=false;sendTimeAsDatetime=true;trustServrCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;resposeBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCunt=true;encrypt=false;disableStatementPooling=true;databaseName=mwolfson;appliationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
WARNING 12/29/10 3:28 PM:liquibase: Unknown Data Type: -16 (ntext).  Assuming i does not take parameters
WARNING 12/29/10 3:28 PM:liquibase: Unknown Data Type: -16 (xml).  Assuming it …

Knowing I don’t need to create a ChangeLog that includes Sequences (since they don’t exist in my DB), I would like to eliminate this step (thus getting by this problem).  I see there is a boolean property named: supportsSequences . I also see that I can issue -D parameters to my command line (ie:  -D<property.name>=<property.value>        Pass a name/value pair for substitution in the change log(s))

My question: what is the proper syntax for this?  I have tried a variety of combinations. 

Here is the last one I tried:
liquibase>java -jar C:\ant\lib\liquibase.jar --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=.\driver\sqljdbc4-3.0.1.jar --changeLogFile=com/db.changelog.xml --url=“jdbc:sqlserver://XXXX.XXXX;DataBaseName=XXXXX” --username=XXX --password=XXX --Dsupports.sequences=false generateChangeLog

I guess I am not sure I can even do this, hopefully I can, as I am can’t even create my initial ChangeLog, so can’t proceed to really use Liquibase.

Actually, liquibase automatically knows if your database supports sequences or not, and you do not need to specify anything.  The log statement you are seeing in just informational that it is hitting the read sequences step of generating the changelog, which for mssql is a no-op.

Are you getting any other errors?  Could you post your whole output?

Nathan

Thanks for the rapid response (sorry I am so slow, I was out of the office for New Years).

The errors I am getting are actually warnings, so may not be that relevant.  Should I see a final log (ie.  “Change log created successfully”) after the process is complete?  I guess it is possible that this task ran successfully, and the warnings can be ignored.

Anyway, here is the last little bit of my log file:

INFO 1/3/11 8:38 AM:liquibase: Reading unique constraints for dog @ jdbc:sqlserv
er://psdevsql.propsys.chicorp:1433;xopenStates=false;sendTimeAsDatetime=true;tru
stServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct
;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastU
pdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=mwolfson
;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading indexes for dog @ jdbc:sqlserver://psdevs
ql.propsys.chicorp:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCer
tificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBu
ffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=
true;encrypt=false;disableStatementPooling=true;databaseName=mwolfson;applicatio
nName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading sequences for dog @ jdbc:sqlserver://psde
vsql.propsys.chicorp:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerC
ertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;response
Buffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCoun
t=true;encrypt=false;disableStatementPooling=true;databaseName=mwolfson;applicat
ionName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
WARNING 1/3/11 8:38 AM:liquibase: Unknown Data Type: -16 (ntext).  Assuming it d
oes not take parameters
WARNING 1/3/11 8:38 AM:liquibase: Unknown Data Type: -16 (xml).  Assuming it doe
s not take parameters
WARNING 1/3/11 8:38 AM:liquibase: Unknown Data Type: -16 (xml).  Assuming it doe
s not take parameters

Here is the complete output of my request (my post from yesterday didn’t have any new info).  I guess my biggest questions is:  Did this command execute successfully?  Even if Liquibase automatically knows what is supported by which DB, is there a way to manually disable Sequences (in this case) - to ensure my output is error free (which will give everyone a warm fuzzy)?

C:\Documents and Settings\mwolfson\My Documents\liquibase>java -jar C:\ant\lib\liquibase.jar --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=.\driver\sqljdbc4-3.0.1.jar --changeLogFile=com/lbo/db.changelog.xml --url=“jdbc:sqlserver://dbserver;DataBaseName=db” --username=userid --password=passwd generateChangeLog

INFO 1/3/11 8:38 AM:liquibase: Reading tables for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db;application
Name=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading views for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCerti
ficate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading foreign keys for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading primary keys for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServ
erCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading columns for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCer
tificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading unique constraints for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db
;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading indexes for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
INFO 1/3/11 8:38 AM:liquibase: Reading sequences for userid @ jdbc:sqlserver://dbserver:1433;xopenStates=false;sendTimeAsDatetime=true;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;response
Buffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=db;applicationName=Microsoft SQL Server JDBC Driver; (Default Schema: dbo) …
WARNING 1/3/11 8:38 AM:liquibase: Unknown Data Type: -16 (ntext).  Assuming it does not take parameters
WARNING 1/3/11 8:38 AM:liquibase: Unknown Data Type: -16 (xml).  Assuming it does not take parameters
WARNING 1/3/11 8:38 AM:liquibase: Unknown Data Type: -16 (xml).  Assuming it does not take parameters

C:\Documents and Settings\db\My Documents\Choice\liquibase>

It looks like there was no “successful” message for generateChangeLog.  I added it for the 2.0.1 release.

Nathan

A successful message will certainly make me feel better when I see weird warnings.

I am still wondering if it is possible to get rid of this step in the process, since Liquibase doesn’t seem to understand that my DB doesn’t support sequences.  Not sure if it is possible (using the syntax “–Dsupports.sequences=false” or something like that).

I would still love to get that answer to my question, but will proceed for now, knowing that all is good with my primary ChangeLog.

I moved the log message for “reading sequences” so it is inside the “database.supportsSequences()” if statement, that will get rid of logging the sequence check no-op.  There isn’t a syntax for specifying that the database does not support sequences since that support is built into the liquibase support for each database.

Nathan