Generate Change Script suggestions/questions

Hi,

I made some changes that involved two existing tables. I added new fields, and one of them was a Foreign Key to another table.

When I generate the change script:

  • Under Target Objects I de-selected all objects and then I selected just the two tables I modified in the model. First question, when I clicked on the Views tab some of the views were selected others weren’t. Why? The same for Procedures. I left only the two tables selected.

  • I left Comparison Settings as it was

  • Under Select Object Types - Only Physical Properties was selected, then I clicked on the Detailed Settings and I selected only Entities & Relationships. I could not figure out how to save the settings those buttons are confusing. It didn’t allow me to overwrite a setting with the same name.

  • No changes under DDL Code generation.

  • The convertor runs and it displayed the Generate Change Script dialog. As per one of my previous posts this dialog is painfully slow. The left tree is painted later, the buttons with dots are painted one by one when I scroll the tree. A filter textbox would be very handy on this dialog to filter the source objects. When I expand the Attributes node of a table it takes a while until the children are painted. I beg you to improve this dialog. I dread the time when I have to use it.

  • I deselected all the objects in the source tree and I checked only the two tables that I modified in the model. For each table I unselected the Attributes order. Interestingly enough, one field appears to be added in the Source and removed from the Target. I do not understand why. I fixed this by clicking the dots button for the field on the source side double-clicking on the field in the list. Then the two red fields disappeared from the source and target entity.

  • I clicked next and then I clicked the Finish button to generate the script. The script was generated properly, fortunately.

You have to improve this dialog. You cannot leave it like this.

Thanks

Hi Costa,

ad 1 (Under Target Objects) - Do you mean “Items selection” frame? How did you deselect all object? By the button “Uncheck all” or by the command from the popup menu of the tree or by unchecking the first checkbox next to the model name? I’m asking because I am not able to simulate the state when some of the views / procedures were selected and others weren’t. Are you able to reproduce it again?

ad 3 (Under Select Object Types) - You can save you OTP selection by clicking on the button Save as new. It didn’t allow you to replace already created selection with the same name but you can delete ir and create new one or modify it. Select you items from the combo-box Selection, click on the button “Load selection” (the one with the red arrow), select or unselect some property and click the button “Save selection” (the one with the green arrow). Next time when you select you selection and click on load selection your settings will be used. You can also save your selection to action definition. Just click “Save action …” on the last (Review) frame of the wizard and check option Save items Selection". I should preserves both the property from the Select object types and the model items selections.

ad 5 (Items selection tree) - the speed of the painting of the tree is depends on the size of the model but the idea with filter is nie and I’ve created enhancement issue TDM-4567. In the meantime you can try to use Wildcard dialog (click on the button Wildcard filter) to find your table.

ad 6 (deselected all the objects) - Again, I’am not able to repeat this problem. Are you able to simulate it repeatedly? If you are willing send us some sample model where we could simulate it we will be very grateful.

Thank you,

Dave

Hi, David,

Thank you for your detailed post.

  1. Yes, “Target Objects” is selected on the left, then on the right we have “Show Tables from” and the 4 tabs, Tables, Views, Procedures, Functions.

I think I might have figured it out. I think Toad un-selects the objects that are in the database but are not in the model. With regards to the checkboxes, there are two sets, one on the left of the Filter textbox which affect all the tabs, and the ones on the right side of the Filter textbox which affect only the current tab.

  1. Ok, I figured it out and overwriting the setting with the same name worked.

  2. Thanks. Btw, I tried to use the Wildcard dialog but it doesn’t seem to do anything - an update: my mistake here, I figured it out, it checks or unchecks nodes based on the wildcard selection.

  3. Unfortunately I cannot send you the model due to a NDA. But could it have something to do with the fields order?

Overall, my main frustration with this dialog is its performance. It is so slow. When I expand an entity it takes about 10s until it shows the nodes underneath. My model is average, I would say, it has 360 tables / 3405 attributes. I know there are other models with thousands of tables.

Other workflows:

  • Sometimes I want to update just two tables - is there a way to show in the source just those two tables? I have to scroll through the whole tree and wait until it finishes to paint. The wildcard search can take you only so far.

David, I don’t know what else to tell you to convince you that you guys have to improve this dialog. I am at the point where I might ditch TDM and use a more expensive tool. It is that frustrating. Creating delta scripts from a model is an essential function. It is has to provide a good experience to the user. Especially when you make lots of changes and you want generate the update script over and over again.

Thanks

Costa,

yes, you are right. Unselected objects are in the database but not in the model. There are two groups of buttons on the frame “Target Objects”. Buttons on the left affects all objects of all tabs, whilst buttons on the right affects only object of the current tab. I understand that you are not permitted to send us your model, so we will try to simulated on our test models again.

I see the performance of the change script wizard is very problematic in your case. I’m sorry and I will try to escalate it. I have created the issue TDM-4568.

Once again thank you a lot for your time and feedback.

Regards

David

Thank you as well for taking the time to read and answer :slight_smile: