-- (2) Use SQL Developer DATABASE diff to compare them with these options:
-- under DDL generation options, unselect "schema".
-- under DDL comparison options: select "match constraints by definition"
-- I have the following FOUR issues as labelled by (A), (B), (C), (D).
-- (A) It shows the difference scripts:
-- ALTER TABLE "CUST" DROP CONSTRAINT "FK_PRD_ID";
-- ALTER TABLE "CUST" DROP CONSTRAINT "FK_TP_ID";
-- ALTER TABLE "CUST" ADD CONSTRAINT "FK_PRD_ID" FOREIGN KEY ("PRD_ID") REFERENCES "SCHEMA_OLD"."PRD_ID_PARENT"("ID") ENABLE;
-- ALTER TABLE "CUST" ADD CONSTRAINT "FK_TP_ID" FOREIGN KEY ("TP_ID") REFERENCES "SCHEMA_OLD"."TP_ID_PARENT"("ID") ENABLE;
-- It should not be shown as there is NO difference between the Foreign keys in these two tables
-- under schema_old and schema_new.
-- The "reason" shows the difference is that the schema names are different. Please note the schema name
-- "SCHEMA_OLD" appears in the last two "ALTER TABLE" statements.
-- But since I have chosen to ignore the schema under DDL generation options, it should ignore
-- the schema as I asked. Therefore this is a bug. If this bug is not fixed, it will greatly
-- limits the applicability of this tool, as you can not effectively compare schemas under
-- the same database.
-- When I move the object to another database and make the the schema names the same, the "difference"
-- went away.
-- (B) It also shows there are two NEW indexes:
-- These are NOT new indexes by index DEFINITION. It is just the names are different.
-- Even I can make the CONSTRAINTS' name the same, but the underlying INDEXES may have
-- different names. For example, the primary key is PK_ID, but the index may be SYS_1234.
-- As I have chosen under DDL comparison options: select "match constraints by definition",
-- and the constraint and index are very closely related, I expect it will MATCH INDEXES
-- BY DEFINATION, but not by names. But obviously it is not the case. Therefore,
-- We should have a option to match INDEXES either by NAME, or by DEFINITION.
-- (C) Under the schema browser, the SQL is shown as follows. And this is incorrect in the sense
-- that the indexes has been created by the first SQL statement. On the other hand, the
-- "Quick DDL" uses ALTER TABLE and is correct. We should consolidate "Quick DDL" with the
-- "SQL" under schema browser, and make it correct.
Thank you for answering my question. I am able now to create a SR which is SR 3-5845373901.
I can find the product "Oracle SQL developer", but I cannot use "1875". I can not specify
"component DIFF". It allows me to choose a "category" which has "worksheet", "installation",
"migration", etc, but "database diff" is not in the category.