How can we help you today? How can we help you today?

Switch synchronization direction

In 7.0 once I was done a compare I could right-click the blue arrow and switch synchronization direction. In 8.0 this option is no longer there. So far the only workaround I have found is to edit the project and use switch there. However this requires re-loading and re-comparing both sets of metadata, and on larger systems this can be a real pain.

I know I should just do it right at the beginning, but in our environment that would mean doubling the number of projects we have because we are often going in one direction and then the other. Old habits die hard.

Was this option removed intentionally? Was there a problem with the functionality, or did you just think not enough people were using it? The feature worked great for me; sometimes no news is good news. :lol:
AaronBertrand
0

Comments

25 comments

  • Michelle T
    We did remove the feature intentionally - it caused occasional problems (people finding it harder to understand which database was going to change, the reverse direction synchronization sometimes not dealing with server versions correctly) and was quite expensive to maintain as we changed the user interface, and as you say we didn't think many people were actually using it :).

    We're working on a way to let you switch data sources without re-registering the database (not to switch directions, but to swap the data sources without going back to Edit Project), and your feedback that you actually use the old functionality will give that work a higher priority, although I obviously can't promise you it'll get in.
    Michelle T
    0
  • AaronBertrand
    Thanks for the honesty Michelle. Really kind of too bad, as I used that context menu quite often. :-(
    AaronBertrand
    0
  • Giggles220
    I used to use this old functionality quite often as well. I noticed it was gone but was hoping there was a "new" way to do it. Hopefully the swap functionality will make it in.
    Giggles220
    0
  • David Atkinson
    Hi,

    Can I ask what the overhead is of doing a re-compare? Does it take a long time?

    Putting in a option to do a swap-and-recompare is the easy bit, but doing it in such a way as to not require a recompare is apparently tricky.

    Could you also describe the use case where you need to push data one way, and then back the other way?

    Thanks!

    David Atkinson
    Product Manager
    Red Gate Software
    David Atkinson
    0
  • AaronBertrand
    The overhead can be anywhere from 30 seconds to several minutes. It is just annoying to have to re-do it when I already did it upon opening the project; it just so happened that *this* time I wanted to go the other way, but that is not how the project was saved.

    The use case is: sometimes schema changes are very organic, and so they follow the traditional dev -> qa -> test -> production migration; other times, they are a result of an emergency fix in production, and so the changes need to be back-potrted and fully tested once the emergency fix is proven. As I'm sure you're aware, we can't always follow the process to the letter; and up until now, I've been able to switch sync direction without needing to re-compare. Can I asked what changed that makes this not an option? Are you saving time in the general case by only determining in advance the changes required in one direction? (It's ok if you say yes to that answer. But if that's it, I'd love an option to pay for the extra work in advance if I want to.)

    Another use case (that does not affect me personally right now) is synchronizing development schemas in two different environments (e.g. two developer machines).
    AaronBertrand
    0
  • franz
    I agree with Aaron, abandoning the feature that changed the synch direction by double-clicking it is really a huge step backward.

    The new way to change the synch direction, namely swap the databases in the project dialog, is not a good idea since I'm aquainted to have all databases of the developer server on the left side and the databases of the production server on the right one.
    franz
    0
  • Grant Fritchey
    I have to agree with Aaron too. When working with some of our sloppier projects, it's sometimes unclear as to which database would be pushing changes in which direction. Being able to make that switch, as needed, has been very handy.

    Some of our databases take a while to compare. To have to completely recompare them, while not a show-stopper, is a pain.
    Grant Fritchey
    0
  • rtowne
    I fall into the side that thinks taking the double-clicking on the arrow to show the SQL required to sync an object is a big loss. If you changed it so double clicking the arrow would swap the sides -- my first thoughts are that this would be more clumsy and would lead to more mistakes using the product than what you are trying to alleviate.
    rtowne
    0
  • PDinCA
    One more vote for "please restore the double-click reverses direction functionality". I use it more often than not because
      1. It keeps the number of projects I have down to a minimum. 2. It also lets me decide which direction I really want to go when I find I need to push to the next environment or pull, as in the case of an e-fix.
    Having to right-click, re-do the compare and, most importantly, lose all the check marks I just painstakingly went through making is a severely retrograde step.
    PDinCA
    0
  • AaronBertrand
    If you changed it so double clicking the arrow would swap the sides -- my first thoughts are that this would be more clumsy and would lead to more mistakes using the product than what you are trying to alleviate.

    That's what the product does now (7.0). The change is very obvious... the arrow is huge and it becomes green instead of blue when facing the other direction. Anyway I am not advocating that double-click should continue working; I would be fine to have the double-click removed (though I doubt there are many cases of accidental double-clicks there). But having it back on the right-click context menu (which is how I use this functionality in the current product) would be much appreciated.
    AaronBertrand
    0
  • rtowne
    I guess what i was trying to say was, if Dev was on left and Prod was on right - and if double-clicking the arrow caused both sides to swap (moved Prod to left and Dev to Right) - then that would be confusing. Going back to the 7 method which I am used to might be too hard to maintain but it's just my opinion that it has been really helpful and a strong feature.
    rtowne
    0
  • PDinCA
    "Strong feature" - couldn't agree more...
    PDinCA
    0
  • AaronBertrand
    Oh I agree the databases should not switch sides (and repeated that emphatically in another thread here). Just the directional arrow.
    AaronBertrand
    0
  • Grant Fritchey
    I agree. Only switch the arrow. Don't switch the location of the databases. That would cause serious problems.
    Grant Fritchey
    0
  • Scott Roberts
    Just wanted to mention that I am also a frequent user of the "switch direction" feature. Re-comparing wouldn't be a deal-breaker for me, although not re-comparing is obviously better.

    In my case, we have several developers all modifying their local database. They then push their changes to the QA database. So, when it's my turn to push my changes, I sync in one direction. Then, to get the changes from the other developers I sync in the other direction.

    This is also why I would like to have finer-grained sync capabilities. I may want to sync Table1.Index1 in one direction (an index created by me) then Table1.Index2 in the other direction (an index created by someone else). It would also be nice to be able to sync particular table columns. Right now, if I find that someone else has added columns to a table that I have modified, I have to manually make their changes in my DB then re-compare.

    Don't take any of that as criticism. Even if SQL Compare didn't generate an update script at all it would still be an invaluable tool. I'm just giving my 2 cents.
    Scott Roberts
    0
  • Scott Roberts
    Actually, the "Switch" button on the "Edit Project" dialog is sufficient for me.
    Scott Roberts
    0
  • AaronBertrand
    Meaning you don't care if you have to re-compare? I think your opinion might change slightly if you had a bigger / more complex schema and the re-compare took minutes instead of seconds. :)
    AaronBertrand
    0
  • Simon C
    One of the things that we didn't have time to do for the beta was put a switch button (or similar) on the main screen, so you could switch the datasources without re-registering and re-mapping the databases. Would this be sufficient?

    Simon C
    Simon C
    0
  • Grant Fritchey
    Not really. It's just recomparing and you're only saving the step of changing the connection criteria, which isn't that bad to begin with.
    Simon C wrote:
    One of the things that we didn't have time to do for the beta was put a switch button (or similar) on the main screen, so you could switch the datasources without re-registering and re-mapping the databases. Would this be sufficient?

    Simon C
    Grant Fritchey
    0
  • Scott Roberts
    Meaning you don't care if you have to re-compare?

    Precisely.
    I think your opinion might change slightly if you had a bigger / more complex schema and the re-compare took minutes instead of seconds. :)

    And your opinion might change slightly if you had a smaller / less complex schema and the re-compare took seconds instead of minutes.

    We're all just giving our opinions here on how the product works for us in our particular applications, right? I'm not saying the current functionality is sufficient for everyone. I'm saying (quite literally) that it works for me.
    Scott Roberts
    0
  • AaronBertrand
    But why does REQUIRING a re-compare make the scenario better?
    AaronBertrand
    0
  • Scott Roberts
    But why does REQUIRING a re-compare make the scenario better?

    IMO, it doesn't. I would prefer that it didn't have to re-compare. But for me, having to re-compare doesn't impose much additional burden.
    Scott Roberts
    0
  • AaronBertrand
    Well I think avoiding the re-compare is beneficial, regardless of whether it takes seconds or minutes. Your scenario doesn't motivate me to change my opinion.
    AaronBertrand
    0
  • SQLGuru
    I've just started looking at the beta, and the "switch" button is the first thing I've noticed. I didn't mind this over double-clicking the arrow until I noticed that it now requires a re-compare. Some of our databases have thousands of objects; a compare can take a couple minutes. Also, our change management can be fairly complex, requiring selective updates in both directions.
    SQLGuru
    0
  • AndyIrving
    Yes, the ability to switch directions without a recompare is very important to me also, especially when we're comparing busy production servers etc.

    I Don't see what was wrong with the arrow method but I don't really mind how you chose to do it as long as its there :)
    AndyIrving
    0

Add comment

Please sign in to leave a comment.