On Nov 15, 2006, at 10:12 PM, John Siracusa wrote:
> Ah ha! Hm, seems like an enum crossed with an array. Anyway, next
> question: what about values with commas in them? Blah, I just
> tried it. In
> typical MySQL fashion, it silently does the wrong thing.
>
> Well whatever, "it's your funeral" as the saying goes :) I'll see
> if I can
> get to the SET stuff by next week. The code looks fine, but it's
> always the
> tests and docs that take the time. I think I'll also have to add some
> Manager/QueryBuilder code for FIND_IN_SET() and such.
>
At the risk of sounding like an ass:
SET and ENUM in mysql are super dangerous.
They promote really bad design patterns and lock people into MySQL
specific schema that is a "Complete Fucking Nightmare" to port to
another DB system. If people did a standard normalized schema, no
issues would occur when porting to a better DB.
That said, supporting MySQL is a good thing to do. BUT since rose
tends to focus people on doing stuff more intelligently, I would
suggest that the "SET" support require people to set a global
Rose::DB variable ( $Rose::DB::enable_mysql_set = 1; ) in order for
it to work right -- and the documentation on that would post a notice
to people that using a SET/ENUM value will lock you into a Mysql
specific database, and that your code would be more portable if you
used a normalized data structure that is portable.
my .02¢ ( to help people avoid the nightmares of porting mysql to
pgsql/oracle that i've encountered way too many times )
// Jonathan Vanasco
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
| FindMeOn.com - The cure for Multiple Web Personality Disorder
| Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
| RoadSound.com - Tools For Bands, Stuff For Fans
| Collaborative Online Management And Syndication Tools
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object