Bug #79115 Missing COLLATE when forward enginer and collation set to "utf8 - utf8_unicode
Submitted: 4 Nov 2015 8:33 Modified: 28 Mar 2018 0:38
Reporter: Henrik Gemal Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S3 (Non-critical)
Version:6.3.5 OS:Windows (Microsoft Windows 7 Professional Service Pack 1)
Assigned to: CPU Architecture:Any
Tags: regression, WBBugReporter

[4 Nov 2015 8:33] Henrik Gemal
Description:
for my schema I have set:

"utf8 - utf8_unicode_ci"

but forward enginer into a SQL file I get:

"CREATE SCHEMA IF NOT EXISTS `db_portal` DEFAULT CHARACTER SET utf8 ;
USE `db_portal` ;"

before version 6.3.5 I got:

"CREATE SCHEMA IF NOT EXISTS `db_portal` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;"

so something changed in version 6.3.5

How to repeat:
set schema to "utf8 - utf8_unicode_ci"
forward enginer
[4 Nov 2015 9:20] MySQL Verification Team
Hello Henrik Gemal,

Thank you for the report.
Verified as described.

Thanks,
Umesh
[4 Nov 2015 9:22] MySQL Verification Team
// 6.3.4

-- -----------------------------------------------------
-- Schema dummy
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `dummy` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
USE `dummy` ;

// 6.3.5

-- -----------------------------------------------------
-- Schema dummy
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `dummy` DEFAULT CHARACTER SET utf8 ;
USE `dummy` ;
[9 Nov 2015 8:34] Mike Lischke
Can you please justify why this considered a bug? The default collation is implicit. Why making it explicit then?
[12 Nov 2015 8:32] Henrik Gemal
if I dont use "COLLATE utf8_unicode_ci"
my server will use "utf8_general_ci"
[12 Nov 2015 8:54] Mike Lischke
I see. The default collation is utf8_general_ci not utf8_unicode_ci, hence it must be included in the generated SQL.
[24 Nov 2015 12:21] MySQL Verification Team
Bug #79397 marked as duplicate of this
[16 Dec 2015 4:33] MySQL Verification Team
Bug #79651 marked as duplicate of this
[15 Mar 2017 17:38] Sven Arild Helleland
This is still a bug, the SQL generator does not add the collation. 

This happen EVEN if you select a case sensitive collation instead of using default case insensitive.

To duplicate it, create a new table, add a varchar column, change collation to a case sensitive one, and click on "Copy SQL to Clipboard", or try to use "Syncronize Model". Both will just set the charset, and ignore the collation.
[17 Apr 2017 20:26] Matt Houser
Any movement on this issue?

I'm not sure why this is considered "non-critical" and not considered a critical bug. This is affecting me as I am unable to export to SQL files correctly from my models.
[5 Feb 2018 10:52] Mike Lischke
Posted by developer:
 
Fixed already by previous charset/collation changes.
[5 Feb 2018 12:17] Matt Houser
What version of WorkBench includes the fix?
[28 Mar 2018 0:38] Christine Cole
Posted by developer:
 
Fixed as of the upcoming MySQL Workbench 8.0.11 release, and here's the changelog entry:

The forward engineering operation passed the default collation when a custom collation was
defined for a schema.

Thank you for the bug report.