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.

Reply via email to