Bug #44382 Model Default Value Options (Case manipulation)
Submitted: 21 Apr 2009 15:09 Modified: 15 Aug 2013 21:47
Reporter: Robert Cesaric Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S4 (Feature request)
Version:5.2.33 OS:Any
Assigned to: Alfredo Kojima CPU Architecture:Any
Tags: CHECKED, Model Camel Case, Model Case, model options, Model Pascal Case, Table Case

[21 Apr 2009 15:09] Robert Cesaric
Description:
It would be great if we had a way to control whether to use the Pascal or Camel case of a token in the Workbench Options >> Model.  This would help those trying to maintain strict naming conventions.

An example would be - Foreign Key Column Name: %camel(table)%Id

In that example, if the table token was "UserMap" then my FK would be "userMapId".  

How to repeat:
Go to Workbench Options >> Model.
[22 Apr 2009 6:51] Valeriy Kravchuk
Thank you for the feature request.
[28 May 2009 23:54] Alfredo Kojima
Added |upper |lower and |capitalize "filters"
[7 Feb 2010 5:22] Robert Cesaric
Can we add one more filter that lowercases the first letter so that we can take a string like "TableName" and get "tableName"?  

Maybe call it "ucFirst", "upperFirst" or "uncapitalize", lol.

Thanks for the other filters!
[7 Feb 2010 5:48] Robert Cesaric
Sorry, I meant to say "lowerFirst" or "lcFirst".
[25 Jun 2010 13:14] Mike Lischke
Reopen since un-capitalize is still missing.
[23 Aug 2010 20:19] Robert Cesaric
Thanks for re-opening!  "un-capitalize" would be perfect and really help w/ implementing a camel case filter.
[23 May 2011 21:04] Robert Cesaric
I patched/wrote the rest of this feature request myself.  It's not a drastic edit from what you've already done but if contributing it would help close this ticket, please let me know how I can go about doing that.  

I would be ecstatic to not have to recompile this back in with every subsequent WB release missing this.

Thanks guys.
[14 Jun 2013 1:14] Philip Olson
Fixed as of the upcoming MySQL Workbench 6.0.2 public beta release, and here's the changelog entry:

Table column and relationship defaults may now be configured to default as
lowercase, uppercase, or capitalized (for camelCase). The syntax, under
"Preferences", "Model" is %table|upper%, %table|lower%, and
%table|capitalize%. See the hovering help tool tips for additional
information.

Thank you for the bug report.
[14 Aug 2013 16:24] Robert Cesaric
The "Capitalize" filter doesn't achieve the general definition of camelCase.  If you have a table named "MyTable" and you apply the capitalize filter, nothing changes. We need the first letter to be lowercase so that we can return "myTable"  

Respectfully, this is the most frustrating process and has deterred me from submitting bug reports and feature requests.  I've submitted this feature request over 4 years ago.  I even coded the patch and submitted it privately via my last comment and still no resolution.  What options are we left with other than waiting indefinitely or keeping our own fork of patches (which I've been forced to do)?
[15 Aug 2013 15:00] Alfredo Kojima
Have you tried "uncapitalize"?
[15 Aug 2013 15:19] Robert Cesaric
"uncapitalize" does work.  I apologize.  I didn't see that option in the description/tool tip.  

On that note, this feature request may want to stay open until that filter gets added to the hovering tool tips.

Thank you!!
[15 Aug 2013 21:47] Alfredo Kojima
Thanks for reminding about the tooltips. They were updated in our repository.