I'm not sure that would fix it entirely because there's other things that cause 
differences between two developers schema files being generated.

I do agree that a fix for this issue here would have a big impact across the 
ecosystem.

Generally what I do is simply not check-in the schema.rb file unless I have 
made field changes. This is preferred often, as it means you need to force 
yourself to examine your git commits carefully instead of just using git add . 
which I think is a good practice. 




> On Jan 17, 2015, at 7:22 PM, Nicholas Firth-McCoy <n...@nfm.id.au> wrote:
> 
> Great idea! Once schemas do get out of sync this crops every time a developer 
> runs `db:migrate`, regardless of whether they're adding a migration. It's 
> something I see pretty frequently.
> 
> On Saturday, January 17, 2015 at 9:01:52 PM UTC+11, vesan 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
>  
> <https://github.com/rails/rails/blob/3f96b6973b82ad17e443dd1d21be05996fb6fbf0/activerecord/lib/active_record/schema_dumper.rb#L134>
> 
> – Vesa Vänskä
> ve...@vesavanska.com <javascript:>
> 
> -- 
> 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 
> <mailto:rubyonrails-core+unsubscr...@googlegroups.com>.
> To post to this group, send email to rubyonrails-core@googlegroups.com 
> <mailto:rubyonrails-core@googlegroups.com>.
> Visit this group at http://groups.google.com/group/rubyonrails-core 
> <http://groups.google.com/group/rubyonrails-core>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

----

Jason Fleetwood-Boldt
t...@datatravels.com
http://www.jasonfleetwoodboldt.com/writing

-- 
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.

Reply via email to