thank you for your post. Unfortunately, I am a bit confused and I’d like to ask you for details. Please try to do the following:
Do reverse engineering of your existing database (select tables from one schema only). New model will be created. Then start the Sync & Convert Wizard, set your original model to left side and your reversed model to right side. Then please define settings in groupbox Options for Default Selection of Items in the fourth step of the Sync & Convert Wizard (step Settings). Then try to finish the wizard and generate alter script.
If possible, please send us screenshots. The following part of your post “…not selected are green…” makes me confused.
In general, there are many situations when it is necessary to synchronize a model with your physically existing database structure. For example: You have a model for your physically existing database and you wish to enhance it. In this scenario you will have your “original model” equal to your database and then another model to which you will add new objects, drop some objects from it, modify something etc. Your aim will be to generate alter script that will modify your physically existing database. That means that your modified model will have to be set to Left Side and your original model will have to be set to Right Side. Alter script for changes that exist in left model will be generated. That means, all objects that exist in left model and don’t exist in right model will be created, all objects that don’t exist in left model but exist in right model will be dropped and all for all modified objects alter script will be generated - considering the default settings in fourth step of the wizard are left untouched.
In your case, if you try to compare your model with three schemas (left side) with reverse engineered model where only one schema exists (right side), then you will have to tell the application to not use the two additional schemas. Alternatively, you can remove the two schemas from your model and then do the comparison of “simplified model” with “reversed model”. I guess what you are trying to do is to compare large model with something like a “subset” of your model.
I’d like to also mention that there are also things that cannot be compared perfectly. E.g. if you use domains in your model and then you will reverse engineer a model and compare the model where domains are used with reversed model, then there certainly will be differences, just because domains are logical items that are converted to SQL code - but backward guessing what might be domain in your model - this is something that no application can do to an acceptable level of satisfaction. Of course, there is a workaround - in similar situations, don’t use domains. Similarly, if you wish to work with a model where there are three users and you wish to compare a subset of the model with existing database, it might be better to split the model to three independent models first and then do the comparison…
I hope it helps,
Have a nice day,