I am making progress on getting the diff command working. I have had to make a few changes to SybaseDatabase.java namely:
Override supportsSchemas to return false
Override correctSchema to be the identity function
Override escapeObjectName to use “…” as a separator between catalog name and object name rather than “.”
The diff command now runs and produces some output. It now recognises differences between views but there is still a problem with tables so still some work to be done.
I have downloaded and installed 3.1.0 and the doc command now works. Thanks.
However I am having problems with my next test. I am trying the “diff” command. I am diffing the same schema on 2 dataservers (a dev server and a prod server). I know that there are some differences. In particular prod has 2 tables that do not exist on dev.
The debug output shows that it is connecting to the correct databases and schemas however is claims that there are no differences at all. And I know that there are 2 tables in prod and are not in dev.
I have tried reversing the comparison but get the same results.
Neither schema has the DATABASECHANGELOG or DATABASECHANGELOGLOCK tables. Are they required for the diff command to work?
Also, is it possible to compare 2 schemas of different names? For example if I have a schema called “northwind” and a schema called “northwind_test” on the same server how can I compare them? Judging by the debug output it uses the default schema for the user unless there is a defaultSchemaName parameter. But there does not appear to be a referenceDefaultSchemaName parameter.