I'm confused

Hi All,

If I have a site with a number of extensions installed and I had to
drop the database and want to reinitialise it what are the steps?

I’ve tried
rake production db:bootstrap --trace

which fails due to missing columns that are part of various
extensions.

I’ve tried
rake production db:migrate

after to try and fix that, but the admin pages seem to disallow any
activity that would change the database

Regards,

Marc

On Mon, Dec 6, 2010 at 9:14 PM, Marc [email protected] wrote:

I’ve tried
rake production db:migrate

after to try and fix that, but the admin pages seem to disallow any
activity that would change the database

Regards,

Marc

Here’s the short answer: move your extensions into a different
directory, bootstrap, and then move them back and migrate the
extensions

It probably depends on your extensions.
Some are written blindly updating the existing models with assumptions
that the database exits.
An extension might add a column to the database and
validate_presence_of for that column, for example.
Some extensions might be fine, and others kill bootstrapping. So its
easier to just bootstrap without any of them, and then add them back.

Thanks Jim!

rake production db:migrate:extensions

didn’t seem to get the job done - I think there is a dependancy
between some of the extensions (copy_move, dashboard, page_preview,
paperclipped, ray, reorder, settings, sns, sns_minifier). Funny enough
if I do

foreach extension (*) # in vendor/extensions
(cd …/… ; rake radiant:extensions:${extension}:migrate)
end

I get the right result.

I also did:

foreach extension (*) # in vendor/extensions
(cd …/… ; rake radiant:extensions:${extension}:update)
end

just in case.

On Mon, Dec 6, 2010 at 9:45 PM, Marc [email protected] wrote:

(cd …/… ; rake radiant:extensions:${extension}:migrate)
just in case.
You can setup the load order of extensions just like you can with
plugins in a regular rails project.
config.extensions = [:load_me_first, :some_other, :all] # where all is
a placeholder for the unspecified

And there is also
rake radiant:extensions:update_all
Which will also run update for extensions loaded as gems.