I maintain a gem here which I think has some cross-purpose for that need https://github.com/jasonfb/nondestructive_migrations <https://github.com/jasonfb/nondestructive_migrations>
it's stated purpose is for data migrations but it sounds like you can use it for your use case almost as-is. -Jason > On Nov 29, 2017, at 7:26 PM, Xavier Noria <f...@hashref.com> wrote: > > On Thu, Nov 30, 2017 at 1:00 AM, Rory Oconnell <rory.oconn...@grandrounds.com > <mailto:rory.oconn...@grandrounds.com>> wrote: > > Hi! > > I wrote a gem which does exactly this: > https://github.com/consultingMD/schlepper > <https://github.com/consultingMD/schlepper>. > > It's an extraction of a basic system I had inside of our monorail. It has > been in use in production for us for about 18 months. It's modeled similar to > AR migrations by design. Task classes are subclasses of a base class. The > task runner creates a table similar to AR migrations. The task class file > names are versioned exactly like AR migrations. Upon running the rake command > to run the tasks, it performs the same system as AR migrations. It finds all > task files not yet run and executes them one by one. The one major difference > is the design of the task running system is each class is independent. If one > fails, the task runner continues. AR migrations are designed for linearity. > > Nice! > > > -- > 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 https://groups.google.com/group/rubyonrails-core > <https://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 If you'd like to reply by encrypted email you can find my public key on jasonfleetwoodboldt.com <http://jasonfleetwoodboldt.com/> (more about setting GPG: https://gpgtools.org) -- 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 https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.