Working on a project where the database will be migrated from MS SQL Server to MySQL. All fine, however the client is requesting that the schema remains the same. This means that table names are not pluralized and id is not just ''id'' but the table name and id (i.e. table_id) All in all it''s not a huge database, I''m looking at 30 tables total, but want to consider first the extra work I''ll have to do to make it all play together nicely. Any opinions ? and if I remember correctly from AWDWR the id column is probably not a big deal, but the singular table names disturb me. TIA Stuart -- http://en.wikipedia.org/wiki/Dark_ambient --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Stuart Fellowes wrote:> Working on a project where the database will be migrated from MS SQL > Server > to MySQL. All fine, however the client > is requesting that the schema remains the same. This means that table > names > are not pluralized and id is not just ''id'' but > the table name and id (i.e. table_id) > All in all it''s not a huge database, I''m looking at 30 tables total, but > want to consider first the extra work I''ll have to do to make > it all play together nicely. Any opinions ? > and if I remember correctly from AWDWR the id column is probably not a > big > deal, but the singular table names disturb me. > > TIA > Stuart > > -- > http://en.wikipedia.org/wiki/Dark_ambStuart, on the table names, here is a quote from page 191 of the Agile Rails book: "TheserulesreflectDHH’sphilosophythatclassnamesshouldbesingular whilethenamesof tablesshouldbeplural. If youdon’tlikethisbehavior, youcandisableit bysettingaglobal flaginyour configuration(thefile environment.rbintheconfigdirectory). ActiveRecord::Base.pluralize_table_names= false " (sorry about the wacky formatting there, Mac "Preview" or "Safari" bug I guess) best, jp -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
In my case I made a small Ruby script who uses DBI interface. It keeps connection to old and new databases ( in may case that was the same flavor - PgSQL ) and recreates the model from legacy MixedCase way to RoR way, including data migration. This script somewhat generalized, but this is possible to do more generalization to make it possible to port from one DB flavor to other. PS: I spent few hours for that script and it saves me a days of hassle :) All the Best! Sergey. Dark Ambient wrote:> Working on a project where the database will be migrated from MS SQL > Server to MySQL. All fine, however the client > is requesting that the schema remains the same. This means that table > names are not pluralized and id is not just ''id'' but > the table name and id (i.e. table_id) > All in all it''s not a huge database, I''m looking at 30 tables total, > but want to consider first the extra work I''ll have to do to make > it all play together nicely. Any opinions ? > and if I remember correctly from AWDWR the id column is probably not a > big deal, but the singular table names disturb me. > > TIA > Stuart > > -- > http://en.wikipedia.org/wiki/Dark_ambient > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Since I am always having to work with some old, legacy schema, I do this as a matter of course on all my model files: class MyClass < ActiveRecord::Base set_table_name ''whatevernameIwant'' set_primary_key ''nameOfPrimaryKeyColNeedntBeid'' end Then you;re good to go. -Ralph --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ike wrote:> Since I am always having to work with some old, legacy schema, I do > this as a matter of course on all my model files: > > class MyClass < ActiveRecord::Base > set_table_name ''whatevernameIwant'' > set_primary_key ''nameOfPrimaryKeyColNeedntBeid'' > end > > Then you;re good to go. -Ralph >Not true. It works quite good for most of the cases but not all of them. If your column name starts with capital letter, then it starts to srew up a lot of plagins that expecting behavior like record.filedName or record.field_name because in this case Ruby has conversation that if first letter is capital then it''s a constant. in this case you can get it only by record[''FieldName''], so you see my point here. That was my reason to make a script that converts tables from MixedCase to lower_case All the Best! Sergey. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Wait -- Isnt MySQL not case sensitive (at least <5.0, and I believe>=5.0 that can be specified) so why not make them all be lowercase in your rails app? -Ralph--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ike wrote:> Wait -- Isnt MySQL not case sensitive (at least <5.0, and I believe > >> =5.0 that can be specified) so why not make them all be lowercase in your rails app? -Ralph >>Because I am using PostgreSQL, and this RDBMS is case sensitive. So the same can be true for other flavors such as Oracle. All the Best! Sergey. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Sergey, Would you mind posting the script here, or is it proprietary? Thanks. Sergey Kuznetsov wrote:> Ike wrote: > > Wait -- Isnt MySQL not case sensitive (at least <5.0, and I believe > > > >> =5.0 that can be specified) so why not make them all be lowercase in your rails app? -Ralph > >> > Because I am using PostgreSQL, and this RDBMS is case sensitive. So the > same can be true for other flavors such as Oracle. > > > All the Best! > Sergey.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---