Ticket #697 by @mattsah
So I needed to do a quick job of documenting an existing Schema, and I decided to use Flourish, cause it tends to do an excellent job of normalizing and abstracting various pieces of information about the Schema. Little did I realize (as I've rarely used Flourish with MySQL previously), it breaks rather quickly on "mixedCase_tableNames" — I tracked the problem to the simple fact that getTables() outputs the table information in all lowercase. Removed the strtolower stuff on what I was working with just to "make it work." So the job is done, but it seems like this might be able to be handled or at least documented a bit better.
From what I could see, it appeared the fSchema was already doing various different things for different databases. And from what I understand this is a problem fairly specific to MySQL (and more specifically on Linux). Would it make sense to return the original table name for MySQL on non-windows?
I understand there's also an option to make MySQL case-insensitive which can be enabled, although from what I can tell this is not the default on various distributions.
All this being said — I'm wondering if the lowercasing of table names was added for any particular reason of compatibility otherwise? Is it something that can be removed. Is it something that should NOT apply to MySQL? Or should the documentation just clearly indicate that MySQL should be running with the case-insensitive option enabled?
Yeah. I think this should be removed. If you are distributing an project with flourish you cannot require from the users to set the case-insensitive option.