Extensions migrations and import_export



I’ve been working (together with Andrea F.) on a project for a
client that we chose to implement with Radiant.

The project makes heavy use of extensions and some extensions depend
on other extensions - I also choose to deploy with Capistrano 2.

I wanted something like db:bootstrap to quickly bring up the current
version of the site, so looked into import_export. Exporting worked
really well, while importing had some problems: updated_by fields did
not work and Radiant::Configs weren’t imported correctly.

I fixed it by handling the import Radiant::Configs in a different way
and by implementing a db:remigrate:extensions task. Implementing
db:remigrate:extensions meant I had to find a way to be sure of the
order the extensions migrations were run, so I added a priority field
to extension_meta, and migrations are run according to priority. Any
extension can choose its own priority setting the meta field.

Should I create tickets with these additions? They’re correlated so I
don’t know if I should release them or not.




import_export was just one of those weekend proof-of-concept things; I’m
surprised to see anyone using it seriously. Any patches you can
contribute would be awesome. At some point we will need a robust
import/export system for Radiant anyway, and it would be easiest just to
fold it into trunk when it’s solid.



Sean your weekend proof-of-concepts works are a good foundation for me
I’ve kept fixing bugs but right now it depends on my patches to
radiant to enable db:remigrate:extensions, I’m thinking about a way to
make it work without those patches.

2007/8/2, Sean C. removed_email_address@domain.invalid: