Toad World® Forums

Few issues TDM 3.5.10

Hello
I’m new on this forum.
I used CS2 for years with MySQL. Now switching to TDM looking for enhancements.

Unfortunately first feelings are not so good. TDM appears a bit slower than CS2 and also buggy. I hope all that things will be fixed in near feature, that’s why I want to contribute some feedback.

This report is based on my work using:
Windows7 with Aero enabled
2GB RAM
PostgreSQL 8.4 (external server)

  1. there is no <%TableName%> app variable for AfterScript of Entity (table). This variable has been implemented into CS2 10 years ago. It is realy surprised that is missing now. I tried to use:
  • OwnerFullName - CS3 internal error occured in PERCodeGeneratorPG (Interface Not Supported)
  • OwnerName - name of model has been entered. Why not entity name?
  1. while syncing current model with real database:
  • even while ‘Ignore model name’ option is checked, model name is still compared. Since reversed DB has default name, this object is marked as ‘not the same’
  • after new sequence is created and added as default value into a table, in alter script ALTER TABLE appears before CREATE SEQUENCE. It’s clear that such script cause error while executing on targed DB.
  1. all child windows of TDM are always opened in upper-left screen corner. Why are not centered to the client (TDM window)? Why position is not remembered. It is one of most annoying things I found. In overal editing objects in CS2 was faster and easier. for me.

3b) the same about ‘delete object’ confirmation window.

  1. If TDM’s window is streached down using bottom-right corner of window, then maximized using Maximize button, most parent window fits the screen size, but child area, which contains diagram, remains not streached.

  2. Importing CS2 project for MySQL4.1 fails with error message: Database 400 is not supported. this message is not human readable. Does support for MySQL4 reach EOL?

Enough for this time. I believe my notices will help in DTM developing.
Best regards

Message was edited by: kozusznik.michal_859

Message was edited by: kozusznik.michal_859

Hello Michal,

Thanks a lot for your feedback. Let me comment on it.

  • Slower performance of TDM.
    TDM3 is much more flexible and customizable product. It offers lots of features that were not supported in v. 2. Unfortunately, it requires and consumes more memory than TDM2/CS2. The application is more complex and… slower. But we think comparing of TDM2 and TDM3 is like comparing Win95 and Win7. :slight_smile:

In any case, our development is still in progress. We already managed to speed up some processes significantly and we keep working on this.

  1. Please use the <%Name%> variable. Simply write it to the After Script tab of the entity. (Feel free to check the entity SQL Preview then.)

Note: OwnerName, OwnerCaption - Explanation: E.g. For attribute it is an entity, for entity it is a model (please see Model Explorer structure). It has nothing to do with object Owner/Schema.

Generally, you can use ALL text properties of actual object as application variables (data type must be widestring).
If you click the Application Variable button on the Entity Properties form, you get a list of other application variables. They are just extra application variables that you can use for the actual object but these application variables are not properties of the actual object.
Example: Name is property of entity. It is of widestring data type, so you can use application variable <%Name%>.
Author is not property of entity. However, you can use the application variable <%Author%> in entity. - All such extra application variables are available in the list.

This feature is new in TDM 3.5 and we are happy to get your feedback (first on this in fact). We are going to further improve it - we plan to add another button to display/hide list of other application variables to display all applic. var. you can use and not only the extra ones. (CR 73 830 )
Also, the documentation will be improved.
Thanks for your patience.

  • Ignore Model Name - If it’s selected, the Model property is ignored, which is right. However, Name property is still available. - It is our small bug. The Name property will be removed from the list. Thanks for your notification. CR 73 832.
  • after new sequence is created and added as default value into a table, in alter script ALTER TABLE appears before CREATE SEQUENCE. It’s clear that such script cause error while executing on targed DB.

Unfortunately, we keep failing to simulate the problem. Could you please send us your models so we can verify it? (They will be used only for the testing purposes. You can send them to: modeling@quest.com). If you can’t send us your models, please send us bigger part of the generated alter script. Thanks a lot!

Just a note: Alter script generation wasn’t possible in CS2.

  1. What do you mean by child window? I open any wizard, entity form, attribute dialog etc. and they are open by default in the center of the TDM application window. If I change the position of the form or resize it, it is always remembered.
    Note: There are some exceptions - e.g. Model Explorer is docked by default on the left, Message Explorer at the bottom etc.

The settings are saved in TDM.txe file in Configs folder. To restore the original settings, close TDM, delete the file and open TDM again. Please try to do it and let me know.
Default path is:
C:\Documents and Settings\user name\Application Data\Quest Software\Toad Data Modeler\Installation number\Configs

In overal editing objects in CS2 was faster and easier for me.

Maybe this is because you haven’t discovered the great features yet. Let me draw your attention to some of them:

  • Dialogs in TDM are modeless. You can open two Entity Properties dialogs and copy attributes between them etc.
  • Object Navigator box (quick selection of entities/attributes/functions etc. - see the box at the top in the object Properties dialog).
  • For entities and attributes, you can use the new navigation arrows Previous and Next (next to the Object Navigator box).
  • Possibility to edit via Model Explorer
  • Possibility to edit via Object Viewer
  • Right-click options: - entity - Select Parent/Child Objects
    - relationship - Edit Entities - Parent/Child
    etc.

Let me recommend to watch some flash movies or have a look at some tips in our Weblog. If you have any questions, please do not hesitate to write us.
http://modeling.inside.quest.com/entry.jspa?externalID=1667&categoryID=158
http://modeling.inside.quest.com/entry.jspa?externalID=3962&categoryID=158
http://blogs.inside.quest.com/modeling/2010/04/27/object-viewer-and-quick-selection-of-tables-on-the-workspace/

  1. We have found out it is a problem on Windows7 OS. We will deal with it. CR 73 834.
    Workaround: Please minimalize the window and stretch it down a little again.

  2. MySQL 4.1 db is not and will not be supported in TDM 3. TDM 3 supports MySQL 5.0, 5.1. We will keep supporting next versions. To open MySQL 4.1 model in TDM 3, you need to do the database conversion to MySQL 5.0 in TDM 2 and then you can open the MySQL 5.0 model in TDM 3.

Michal, thanks for your fantastic feedback!

Regards,

Vladka + TDM Team

Message was edited by: vladka

  1. It works. Thank you.

  2. I attached a part of alter script. As you can see, alter table “dbversions”.“tab_sqlobj_assigns” appeared before sequence created. Order of generated Objects shows sequences before tables which is correct
    If you still want to see a project - not problem. let me know.

  3. I mean entity properties window for example. For me, this window opens always in top left corner of the main screen. Maybe reason is, that I’m using 2 monitors, secondary is on the left side of main screen. However for me it looks like simple top-left corner. For example:

  • I click existint entity. properties window opens in top-left screen corner
  • I move it to the center
  • I change some properties
  • I close window using OK button
  • I click the same entity - properties window opens in top-left screen corner again

In overal editing objects in CS2 was faster and easier for me.
I refered it to my experience with CS2 especialy to simple operation like: create entity, add new properties. CS2 responses quicker and adding new items I found more intuitive. But I believe it is about practice. I will learn new features.

  1. I did that. But it is not solution for me, until I need to control model exactly for MySQL4 series. However thank you.

Thank you for quick response
Best regards

Message was edited by: Michal.K
alterscript2.sql (927 Bytes)

Hello Michal,

  1. Thanks. We’ve managed to simulate it. We’ll fix it. CR 73 840.

  2. Thanks for details. We’ll check it out. I’ll let you know then.

Regards,

Vladka

Hello Michal,

Let me update problem 3. We’ve managed to simulate the problem. We’ve already fixed it for next Beta. (CR 73 914)

Thanks for your co-operation!

Regards,

Vladka + TDM Team

I'm glad my notices are useful.
I want to report some detailed info about issues related to alter script generation. For MySQL

  1. Looks like there are missing option to save all parameters of comparer. It would be very useful to create comparing profiles (like server bookmarks or so)

  2. Looks like filter selection filter (5th picture) once used works until Sync&COnvert wizard is closed. I can't see any option to disable this filter. In result, if I got comparing items section, used filter, then back to the previous sections changing some options, moving forward again to comparing items window results with wrong selection (to be more precise, selections are still filtered by used filter)

  3. I suggest to add option to hide items which should not be compared. The point is, if I have a lot items which are not taken into account while comparing (for example I compare a few tables from whole database as on pictutre 1), displaying them on compare page makes some 'noise' while watching result of comparision.
    Maybe good choice is to show only items selected to compare.

  4. As you can see on the last picture, there is missing vertical scrollbar. It dissapeared after attempt of resizing window. If some values are cropped by window (grid not fit into window) and windows is expanded, those values remains partialy invissible.
    Maybe related to W7 (Aero) bug.

  5. Let's see and analize some pictures

1_seltables.png

You can see I've selected items using filter.
I suggest to show ONLY THOSE items in the pre-final step: compare window

2_selrules.png

You can see rules I've selected

3_selpropert.png

... and properties selected to compare

4_res1.png

This picture shows that there are a lot of options which are not related to compare model do database. Simply items like Project, Author, Version etc doesn't exists in MySQL database.

You can also see items which has been unchecked on previous picture but are selected here.

Basically, god idea would be to show ONLY items which are related to current compare function.

5_res2.png

This picture shows differences which should not appear:

  • strange datatype value in reversed (right) model
  • default value encapsed into double quotes in reversed model
  • datatypeParam1 - I suspect it is size of mediumint. but.....

…how it is possible since this table has been created from the model, which is used to compare?

7
Simmilar issue is related to stored procedures. There will be no image, because forum has bug. Attach Images button works like Save one while editing post.
Back to SPs. If I have procedure written as is, with checked SQL only, it is still compared by item attributes. For example return type, definer, argument list are checked (with negative result of course). If 'SQL only' option is checked in the model, only SQL should be checked.

There is also issue with automaticaly generated indexes for foreign keys (by MySQL). Would be fine to solve this issue in some way. IMO best way is to adding indexes to model just with FKs. I know I can do it manualy, but since nothing forces me to do this, in most cases indexes in model will be missing and update script will always shows them as inconsistency.

Basically at this stage of DTM developing, it is really hard to get equal comparison of model and the database created just from this model. Because a lot of things must be checked/unchecked, manually selected etc, it’s being (unfortunately) untruthful utility for generating update scripts.

In practice, I will compare model to database faster, creating new DB from DDL, dumping schemas of both DBs and comparing both dumps using TotalCMD. That's a reality.

Hope it will be improved/fixed asap.

best regards

Message was edited by: Michal.K - Added note no.8

I'm glad my notices are useful.
I want to report some detailed info about issues related to alter script generation. For MySQL

  1. Looks like there are missing option to save all parameters of comparer. It would be very useful to create comparing profiles (like server bookmarks or so)

  2. Looks like filter selection filter (5th picture) once used works until Sync&COnvert wizard is closed. I can't see any option to disable this filter. In result, if I got comparing items section, used filter, then back to the previous sections changing some options, moving forward again to comparing items window results with wrong selection (to be more precise, selections are still filtered by used filter)

  3. I suggest to add option to hide items which should not be compared. The point is, if I have a lot items which are not taken into account while comparing (for example I compare a few tables from whole database as on pictutre 1), displaying them on compare page makes some 'noise' while watching result of comparision.
    Maybe good choice is to show only items selected to compare.

  4. As you can see on the last picture, there is missing vertical scrollbar. It dissapeared after attempt of resizing window. If some values are cropped by window (grid not fit into window) and windows is expanded, those values remains partialy invissible.
    Maybe related to W7 (Aero) bug.

  5. Let's see and analize some pictures

1_seltables.png

You can see I've selected items using filter.
I suggest to show ONLY THOSE items in the pre-final step: compare window

2_selrules.png

You can see rules I've selected

3_selpropert.png

... and properties selected to compare

4_res1.png

This picture shows that there are a lot of options which are not related to compare model do database. Simply items like Project, Author, Version etc doesn't exists in MySQL database.

You can also see items which has been unchecked on previous picture but are selected here.

Basically, god idea would be to show ONLY items which are related to current compare function.

5_res2.png

This picture shows differences which should not appear:

  • strange datatype value in reversed (right) model
  • default value encapsed into double quotes in reversed model
  • datatypeParam1 - I suspect it is size of mediumint. but.....

…how it is possible since this table has been created from the model, which is used to compare?

7
Simmilar issue is related to stored procedures. There will be no image, because forum has bug. Attach Images button works like Save one while editing post.
Back to SPs. If I have procedure written as is, with checked SQL only, it is still compared by item attributes. For example return type, definer, argument list are checked (with negative result of course). If 'SQL only' option is checked in the model, only SQL should be checked.

There is also issue with automaticaly generated indexes for foreign keys (by MySQL). Would be fine to solve this issue in some way. IMO best way is to adding indexes to model just with FKs. I know I can do it manualy, but since nothing forces me to do this, in most cases indexes in model will be missing and update script will always shows them as inconsistency.

Basically at this stage of DTM developing, it is really hard to get equal comparison of model and the database created just from this model. Because a lot of things must be checked/unchecked, manually selected etc, it’s being (unfortunately) untruthful utility for generating update scripts.

In practice, I will compare model to database faster, creating new DB from DDL, dumping schemas of both DBs and comparing both dumps using TotalCMD. That's a reality.

Hope it will be improved/fixed asap.

best regards

Message was edited by: Michal.K - Added note no.8

I'm glad my notices are useful.
I want to report some detailed info about issues related to alter script generation. For MySQL

  1. Looks like there are missing option to save all parameters of comparer. It would be very useful to create comparing profiles (like server bookmarks or so)

  2. Looks like filter selection filter (5th picture) once used works until Sync&COnvert wizard is closed. I can't see any option to disable this filter. In result, if I got comparing items section, used filter, then back to the previous sections changing some options, moving forward again to comparing items window results with wrong selection (to be more precise, selections are still filtered by used filter)

  3. I suggest to add option to hide items which should not be compared. The point is, if I have a lot items which are not taken into account while comparing (for example I compare a few tables from whole database as on pictutre 1), displaying them on compare page makes some 'noise' while watching result of comparision.
    Maybe good choice is to show only items selected to compare.

  4. As you can see on the last picture, there is missing vertical scrollbar. It dissapeared after attempt of resizing window. If some values are cropped by window (grid not fit into window) and windows is expanded, those values remains partialy invissible.
    Maybe related to W7 (Aero) bug.

  5. Let's see and analize some pictures

1_seltables.png

You can see I've selected items using filter.
I suggest to show ONLY THOSE items in the pre-final step: compare window

2_selrules.png

You can see rules I've selected

3_selpropert.png

... and properties selected to compare

4_res1.png

This picture shows that there are a lot of options which are not related to compare model do database. Simply items like Project, Author, Version etc doesn't exists in MySQL database.

You can also see items which has been unchecked on previous picture but are selected here.

Basically, god idea would be to show ONLY items which are related to current compare function.

5_res2.png

This picture shows differences which should not appear:

  • strange datatype value in reversed (right) model
  • default value encapsed into double quotes in reversed model
  • datatypeParam1 - I suspect it is size of mediumint. but.....

…how it is possible since this table has been created from the model, which is used to compare?

7
Simmilar issue is related to stored procedures. There will be no image, because forum has bug. Attach Images button works like Save one while editing post.
Back to SPs. If I have procedure written as is, with checked SQL only, it is still compared by item attributes. For example return type, definer, argument list are checked (with negative result of course). If 'SQL only' option is checked in the model, only SQL should be checked.

There is also issue with automaticaly generated indexes for foreign keys (by MySQL). Would be fine to solve this issue in some way. IMO best way is to adding indexes to model just with FKs. I know I can do it manualy, but since nothing forces me to do this, in most cases indexes in model will be missing and update script will always shows them as inconsistency.

Basically at this stage of DTM developing, it is really hard to get equal comparison of model and the database created just from this model. Because a lot of things must be checked/unchecked, manually selected etc, it’s being (unfortunately) untruthful utility for generating update scripts.

In practice, I will compare model to database faster, creating new DB from DDL, dumping schemas of both DBs and comparing both dumps using TotalCMD. That's a reality.

Hope it will be improved/fixed asap.

best regards

Message was edited by: Michal.K - Added note no.8

I'm glad my notices are useful.
I want to report some detailed info about issues related to alter script generation. For MySQL

  1. Looks like there are missing option to save all parameters of comparer. It would be very useful to create comparing profiles (like server bookmarks or so)

  2. Looks like filter selection filter (5th picture) once used works until Sync&COnvert wizard is closed. I can't see any option to disable this filter. In result, if I got comparing items section, used filter, then back to the previous sections changing some options, moving forward again to comparing items window results with wrong selection (to be more precise, selections are still filtered by used filter)

  3. I suggest to add option to hide items which should not be compared. The point is, if I have a lot items which are not taken into account while comparing (for example I compare a few tables from whole database as on pictutre 1), displaying them on compare page makes some 'noise' while watching result of comparision.
    Maybe good choice is to show only items selected to compare.

  4. As you can see on the last picture, there is missing vertical scrollbar. It dissapeared after attempt of resizing window. If some values are cropped by window (grid not fit into window) and windows is expanded, those values remains partialy invissible.
    Maybe related to W7 (Aero) bug.

  5. Let's see and analize some pictures

1_seltables.png

You can see I've selected items using filter.
I suggest to show ONLY THOSE items in the pre-final step: compare window

2_selrules.png

You can see rules I've selected

3_selpropert.png

... and properties selected to compare

4_res1.png

This picture shows that there are a lot of options which are not related to compare model do database. Simply items like Project, Author, Version etc doesn't exists in MySQL database.

You can also see items which has been unchecked on previous picture but are selected here.

Basically, god idea would be to show ONLY items which are related to current compare function.

5_res2.png

This picture shows differences which should not appear:

  • strange datatype value in reversed (right) model
  • default value encapsed into double quotes in reversed model
  • datatypeParam1 - I suspect it is size of mediumint. but.....

…how it is possible since this table has been created from the model, which is used to compare?

7
Simmilar issue is related to stored procedures. There will be no image, because forum has bug. Attach Images button works like Save one while editing post.
Back to SPs. If I have procedure written as is, with checked SQL only, it is still compared by item attributes. For example return type, definer, argument list are checked (with negative result of course). If 'SQL only' option is checked in the model, only SQL should be checked.

There is also issue with automaticaly generated indexes for foreign keys (by MySQL). Would be fine to solve this issue in some way. IMO best way is to adding indexes to model just with FKs. I know I can do it manualy, but since nothing forces me to do this, in most cases indexes in model will be missing and update script will always shows them as inconsistency.

Basically at this stage of DTM developing, it is really hard to get equal comparison of model and the database created just from this model. Because a lot of things must be checked/unchecked, manually selected etc, it’s being (unfortunately) untruthful utility for generating update scripts.

In practice, I will compare model to database faster, creating new DB from DDL, dumping schemas of both DBs and comparing both dumps using TotalCMD. That's a reality.

Hope it will be improved/fixed asap.

best regards

Message was edited by: Michal.K - Added note no.8

I'm glad my notices are useful.
I want to report some detailed info about issues related to alter script generation. For MySQL

  1. Looks like there are missing option to save all parameters of comparer. It would be very useful to create comparing profiles (like server bookmarks or so)

  2. Looks like filter selection filter (5th picture) once used works until Sync&COnvert wizard is closed. I can't see any option to disable this filter. In result, if I got comparing items section, used filter, then back to the previous sections changing some options, moving forward again to comparing items window results with wrong selection (to be more precise, selections are still filtered by used filter)

  3. I suggest to add option to hide items which should not be compared. The point is, if I have a lot items which are not taken into account while comparing (for example I compare a few tables from whole database as on pictutre 1), displaying them on compare page makes some 'noise' while watching result of comparision.
    Maybe good choice is to show only items selected to compare.

  4. As you can see on the last picture, there is missing vertical scrollbar. It dissapeared after attempt of resizing window. If some values are cropped by window (grid not fit into window) and windows is expanded, those values remains partialy invissible.
    Maybe related to W7 (Aero) bug.

  5. Let's see and analize some pictures

1_seltables.png

You can see I've selected items using filter.
I suggest to show ONLY THOSE items in the pre-final step: compare window

2_selrules.png

You can see rules I've selected

3_selpropert.png

... and properties selected to compare

4_res1.png

This picture shows that there are a lot of options which are not related to compare model do database. Simply items like Project, Author, Version etc doesn't exists in MySQL database.

You can also see items which has been unchecked on previous picture but are selected here.

Basically, god idea would be to show ONLY items which are related to current compare function.

5_res2.png

This picture shows differences which should not appear:

  • strange datatype value in reversed (right) model
  • default value encapsed into double quotes in reversed model
  • datatypeParam1 - I suspect it is size of mediumint. but.....

…how it is possible since this table has been created from the model, which is used to compare?

7
Simmilar issue is related to stored procedures. There will be no image, because forum has bug. Attach Images button works like Save one while editing post.
Back to SPs. If I have procedure written as is, with checked SQL only, it is still compared by item attributes. For example return type, definer, argument list are checked (with negative result of course). If 'SQL only' option is checked in the model, only SQL should be checked.

There is also issue with automaticaly generated indexes for foreign keys (by MySQL). Would be fine to solve this issue in some way. IMO best way is to adding indexes to model just with FKs. I know I can do it manualy, but since nothing forces me to do this, in most cases indexes in model will be missing and update script will always shows them as inconsistency.

Basically at this stage of DTM developing, it is really hard to get equal comparison of model and the database created just from this model. Because a lot of things must be checked/unchecked, manually selected etc, it’s being (unfortunately) untruthful utility for generating update scripts.

In practice, I will compare model to database faster, creating new DB from DDL, dumping schemas of both DBs and comparing both dumps using TotalCMD. That's a reality.

Hope it will be improved/fixed asap.

best regards

Message was edited by: Michal.K - Added note no.8

Hello Michal,

Let me reply.

  1. Thanks for your suggestion. CR 74 039.

  2. Unfortunately, we’re not sure what filter do you mean. The one on page Select Items? When I use this one and get back to change some settings and back again, all the items are newly loaded.

  3. To hide objects that you don’t want to compare, you can use the OTPs on page Select Object Types. It is not possible to hide individual items.
    Comparing by schema is planned (CR 69 984). It might help a little.

  4. Unfortunately, we keep failing to simulate it.

1_seltables.png

If you need to compare just few tables, we recommend you to create a new model with the few tables.
Generally, the comparison is used for bulk create and drop of objects while having references to other objets, such as relationships etc.

4_res1.png:

This picture shows that there are a lot of options which are not related to compare model do database. Simply items like Project, Author, Version etc doesn’t exists in MySQL database.

  • Thanks for your opinion.

You can also see items which has been unchecked on previous picture but are selected here.

  • Before Script and After Script - it’s our bug. We’ll fix it. CR 74 040. Name - CR 73 832.

5_res2.png
The data type is of type Mediumint(x). In the list in Convertor Mediumint(%p1) is shown, which is our internal name for the type Mediumint(x).
When you insert type Mediumint to your database, type Mediumint(9) (Maximum Display Size is 9) is created in our MySQL db inside the database. So, during RE,
type Mediumint is created back from the type Mediumint(9). If there is another parameter than 9, e.g. 8, we will reverse type Mediumint(8).
If you really inserted Mediumint without a parameter to your database, we don’t know why it was loaded as Mediumint(8). Possibly, your database has a different settings, which has Maximum Display Size 8.

Regarding the default, e.g. MySQL command “SHOW CREATE TABLE tablename” will return default 200 also in quotes. Database doesn’t mind them. However, for customers who do not want quotes for numeric types, there will be a new option to turn it off in future TDM version.

  1. Thanks. CR 74 041.

  2. Yes, it’s an option for easier generation of indexes. In case of further work with Convertor, we recommend not to use this option but to create indexes manually. In any case, we will deal with this issue in the future.
    For now you can use the following script - it creates indexes to all foreign keys. On line 5 you can select for which model you want to run the script. On line 15 you can change name of the generated index (IndexName = “IX_”+Relation.Name;).
    Run the script in Scripting Window (Tools menu, Expert mode must be on - Settings | Options | General | Expert Mode).

function main()
{
var i, j, Relation, ChildEntity, IndexName, Index, IndexItem, Attribute;
var app = System.GetInterface(“Application”);
var Model = app.Models.GetObject(0);
//The parameter in GetObject determines here with which model the script should work.
//0 is the first model listed in the Application View.
//1 is the second model listed in the Application View, etc.
Model.Lock();
for(i=0; i<Model.Relations.Count; i++)
{
Relation = Model.Relations.GetObject( i );

ChildEntity = Relation.ChildEntity;
IndexName = “IX_”+Relation.Name;
if (ChildEntity.Indexes.GetObjectByName(IndexName) == null)
{
Index = ChildEntity.CreateNewObject( 2012 );
//Create new Index (2012 is object type of PERIndex)
Index.Name = IndexName;
for (j=0; j<Relation.ForeignKeys.Count; j++)
{
Attribute = Relation.ForeignKeys.GetObject(j).AttrChild;
IndexItem = Index.CreateNewObject( 2013 );
//Create new Item of Index (2013 is object type of PERIndexItem)
IndexItem.Attribute = Attribute;
}

Log.Information("Index “+IndexName+” created on table "+ChildEntity.Name);
}
}
Model.UnLock();
}

Finally, let us comment on your summary:
Alter script generation is not an easy task but quite complicated (this was one of the reasons why alter scripts were not supported in CS2). Sure, there are cases when it is
better to use a professional software that is specialized directly in database comparison and that works also with data saved in the particular database (however, I’m not thinking of TotalCMD that definitely isn’t able to generate alter script, that doesn’t deal with creation of temporary tables and data transfer etc.).

Also, it depends on what stage your database is - for example it is possible that it’s faster to compare a database with model and generate new DDL script (F9) instead of alter script, and then transfer the data using other tools. TDM is not a product that specializes in alter script generation. Nevertheless, Alter script generation is one of very important features, and we believe, that very helpful in most of cases (not all of them).
In any case, we keep improving the Sync & Convert Wizard and believe that every new TDM version will help developers or DBAs synchronize their databases with their models more easily and comfortably.
On behalf of our TDM dev team I’d like to thank you for your feedback. We appreciate it very much as it helps us make our product better.
Thanks.

P.S. Michal, we’d be happy to discuss some things with you over the phone. Please check out your Private Messages section for our message. Thanks.

Have a nice day.

Kind regards,

Vladka + TDM Team

Michal, we have finally managed to fix CR 73834 issue with redrawing workspace on Win7/Aero when resizing the application window. The fix will be implemented in the next beta release.

Regards,
Lukas

Thank you for the info.
I’m looking forward for next releases.