On Mar 12, 1:38 am, Josh Susser <j...@hasmanythrough.com> wrote:
> Desert creates a parallel table for plugin migrations:  
> plugin_schema_migrations.  It's like the app's schema_migrations  
> table, but each row has both a version and a plugin name.  Migrations  
> in plugins are accessed by putting a method call in an app migration  
> that migrates to a particular migration version in the plugin - it's  
> not automagic, but it works quite well.

That's effectively a mash of two implementations in the history of how
the engines plugin enabled migrations (the separate table to track
what's been run from where, and the app migration to ensure the
timeline is preserved), so I can definitely relate to how it works.
However, the point here is whether or not we can make this
functionality available as part of the core system, and how to do that
with a balance of simplicity and elegance. Given that vanilla plugins
can contain models, it makes sense that they should also be able to
produce the tables required by those models.

I've boiled things down to two possible implementations that satisfy
all required functional goals - one based on the existing
implementation in the engines plugin (and so Desert too), or a simpler
Rake task. After spending some time discussion what was likely to be
incorporated, I decided not to pursue any solution that modified the
migration tables (either by adding a new table or adding a 'source'
column to the default one); David just wasn't into it. Hence the
current patch, on which it'd be great if you commented specifically.

Thanks,

James
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to rubyonrails-core@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to