On Jan 17, 2015, at 5:01 AM, vesan <vesan2...@gmail.com> wrote: > When multiple people are working on a single Rails codebase and they add > migrations with new columns (or tables) and run the migrations in different > order there is a problem with schema.rb. After this every time migrations are > run the columns swap places if the previous version of the schema.rb file has > been commited by the other developer who did run the migrations in different > order. > > Because of this the developers have to discard the lines where columns swap > places to keep the source control clean. Could this be fixed by putting the > tables and columns on schema.rb in alphabetical order? Or are people relying > on the database's order of the tables and columns? > > It seems you could implement it by sticking `.sort_by(&:name)` to > https://github.com/rails/rails/blob/3f96b6973b82ad17e443dd1d21be05996fb6fbf0/activerecord/lib/active_record/schema_dumper.rb#L134
There’s not a ton of evidence that column order can affect performance, but there are definitely cases - MyISAM tables with many varchar columns, for instance, will take longer to retrieve columns that are later in a row: http://explainextended.com/2009/05/21/choosing-column-order/ (YMMV, I haven’t performed this experiment myself) If this is added, it should be something users can switch off. —Matt Jones -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at http://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: Message signed with OpenPGP using GPGMail