webyog / sqlyog-community

Webyog provides monitoring and management tools for open source relational databases. We develop easy-to-use MySQL client tools for performance tuning and database management. Webyog's solutions include SQL Diagnostic Manager for MySQL performance optimization and SQLyog for MySQL administration. More than 35,000 companies (including Amazon, IBM, Salesforce, AT&T, eBay, and GE) and 2.5 million users rely on Webyog's solutions to provide valuable insights into their databases. Webyog is an Idera, Inc. company.
https://webyog.com/
GNU General Public License v2.0
2.21k stars 325 forks source link

Inconsistence in sync tools #1256

Open atulwy opened 9 years ago

atulwy commented 9 years ago

Original issue 1256 created by webyog on 2010-03-26T07:52:24.000Z:

Situation as of 8.32:

Schema Sync is case sensitive with database and table names - Data Sync is case insensitive. This was found during testing.

FAQ claims both are case insensistive: http://www.webyog.com/faq/ content/10/108/en/are-the-sqlyog-sync-tools-case-sensitive.html. Not 100% sure if this was correct at the time of writing.

atulwy commented 9 years ago

Comment #1 originally posted by webyog on 2010-03-31T14:17:08.000Z:

Also with Schema sync:

  1. Retain the combo selection
  2. Escape should close the dialog (Check this for all dialogs)
  3. Use light blue for the ‘alter’ identification.
  4. Make sure ‘help text’ on top of dialog should be visible by default
atulwy commented 9 years ago

Comment #2 originally posted by webyog on 2010-04-01T04:35:27.000Z:

the issues added in previous comment are listed seperately in # 1275

atulwy commented 9 years ago

Comment #3 originally posted by webyog on 2010-04-02T06:57:17.000Z:

 1275 is fixed

atulwy commented 9 years ago

Comment #4 originally posted by webyog on 2010-04-06T09:43:45.000Z:

The inconsistency remains with 8.4 beta2. We were not able to find a proper solution based on the current code in Schema Sync and Data Sync. The way we dientify which tables to handle - if tables identical except for lettercase exist - is too much different.

Ideally SQLyog could handle case sensitivity automatically based on the 'lower_case_table_names' variable setting the servers in 5 out of 9 scenarios:

If both servers have the setting "1" or "2" tools should be case insensitive (4 scenarios) If both servers have setting "0" tools should be case sensitive (1 scenario)

However if one server has setting "0" and the other "1" or "2" (4 scenarios) then the only safe automatic solution and that is to make the sync case sensitive.

That may however break old scripts used with older versions. User interaction or an additional tag () will be required - but in case there is both table and TABLE on the server with setting "0" then this is also risky as the wromng target tabel might be used. If user is non-attentive it may for instance result in DROP+CREATE (= data loss) on target with Schema Sync.

I am in favor case sensitivity in all cases except the 4 first mentioned scenarios.

atulwy commented 9 years ago

Comment #5 originally posted by webyog on 2010-04-06T09:53:25.000Z:

and btw: also MySQL TRIGGERS are case sensitive or insensitive depending on the file system case sensitivity. And this is not affected by lower_case table_names or any other setting at all. But UPPERCASES can be used for naming the TRIGGER on Windows - that is that TRIGGERS on Windows (and Mac) behave like databases and tables with lower_case table_names = 2.

So also here I think that Schema Sync should always be case insensitive with TRIGGERS. I don't know if it is. We should discuss everything here in one shot.

atulwy commented 9 years ago

Comment #6 originally posted by webyog on 2010-04-09T11:49:53.000Z:

<empty>

atulwy commented 9 years ago

Comment #7 originally posted by webyog on 2010-11-04T14:27:20.000Z:

Also with charset there seems to be inconsistency.

SS considers charset, DS does not -refer

http://www.webyog.com/forums/index.php?showtopic=5378

sibwy commented 6 years ago

Another user has asked for an option to ignore case during Schema comparison.

The user request can be found in HS >> 309577