What kind of other changes have you needed? What features would you like an 
API to provide?

On Friday, October 11, 2019 at 5:33:00 AM UTC-7, ed wrote:
>
> I’d rather see a public API that we could hook into safely. While the 
> sorting sounds helpful, I’ve needed other behavior changes in the ruby 
> schema dumper too. 
>
> On Thursday, October 10, 2019 at 5:04:59 PM UTC-7, Jake Moffatt wrote: 
> > For context: I am the original author of the 
> fix-db-schema-conflicts gem. 
> > 
> > It prevents the kind of annoying churn described in this earlier thread: 
> > 
> > 
> > 
> https://groups.google.com/forum/?fromgroups#!searchin/rubyonrails-core/sort$20columns$20schema|sort:date/rubyonrails-core/h6q8nGFzGKs/pztvg5sJrbgJ
>  
> > 
> > 
> > 
> > Namely, when two people make changes to the same Rails codebase it can 
> create a situation where they are forever locked into a contest of 
> flip-flopping the order of columns/foreign-keys, etc in the `db/schema.rb` 
> file each time they make changes. 
> > 
> > 
> > The fix-db-schema-conflicts gem "fixes" this by prepending some code to 
> the Rails schema generation that sorts everything before spitting it out to 
> schema.rb. 
> > 
> > 
> > Additionally it uses Rubocop to autoformat the generated file to use 
> uniform spacing and column alignment. 
> > 
> > Over the years I've maintained this gem the vast majority of issues 
> surrounding it have come from Rubocop compatibility with Rails. The Rubocop 
> autocorrect is really something that could be applied separately by any 
> team and was only added to my gem as a convenience, which has turned into a 
> huge mess in terms of gem maintenance. The real value of my gem comes from 
> the ordering of the database schema. 
> > 
> > 
> > I propose making a small change to Rails that integrates my gem's schema 
> sorting logic into Rails by default, with a configuration option to 
> preserve the ordering if a specific application relies on column sort order 
> for some reason. 
> > 
> > This change would not affect structure.sql in any way. 
> > 
> > In my mind this is a common source of frustration for every single Rails 
> project that has more than contributor, and it is a simple, low-risk change 
> (can be reverted with a configuration). 
> > 
> > I would be very glad to do the work if it was desired. 
> > 
> > 
> > What does the community think, before I spend time on a PR for this? 
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-core/e8012102-955f-47e8-b8a4-35841022eadc%40googlegroups.com.

Reply via email to