I am in the process of packaging a rails application as an RPM, and I
have a few questions regarding the initialization of the database
environment.

As part of the post-install script, I need to check to see if the
database exists.  Depending on the outcome, I may have to run various
combinations of db:setup, db:migrate, and/or db:seed.  Is there a rake
(or some other) task I can run to check for the existence of the
"production" database?  If not, is there a "standard" way to fetch the
database name for the production environment from the database.yml
file so I can use external tools?

What I'm thinking about doing is defining the default user, password,
and database name as macros/constants in my .spec file.  When I build
my RPM, I will use sed to generate database.yml with these pre-defined
values so they are consistent between my initialization scripts (in
the spec file) and the database configuration included in the
package.  This would work perfectly with a new installation.

The problem with this approach is with upgrading an existing
installation.  Since database.yml is a configuration file, I have to
assume that the database.yml file has been modified and that my
"defaults" no longer match the production values.  I need a simple way
to ask rails "does my production database exist?".

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to