When I perform schema comparison, PL/SQL Developer notes the changes in TYPE definitions.
However, it is unable to apply the changes in the correct order where one type is a table of another.
The generated script does not attempt to drop the referring object first - although it knows that it has to be generated after the referred-to object has been created. E.G.
Where t_tab_thing is table of t_rec_thing and t_rec_thing has changes.
Perform comparison, following order of statements occurs:
create t_rec_thing
create t_tab_thing
The first statement fails as t_rec_thing is currently referred to by t_tab_thing...
Correct order should be:
drop t_tab_thing
create t_rec_thing
create t_tab_thing
I hope that makes sense!
However, it is unable to apply the changes in the correct order where one type is a table of another.
The generated script does not attempt to drop the referring object first - although it knows that it has to be generated after the referred-to object has been created. E.G.
Where t_tab_thing is table of t_rec_thing and t_rec_thing has changes.
Perform comparison, following order of statements occurs:
create t_rec_thing
create t_tab_thing
The first statement fails as t_rec_thing is currently referred to by t_tab_thing...
Correct order should be:
drop t_tab_thing
create t_rec_thing
create t_tab_thing
I hope that makes sense!