Strategy Help -- Moving from Development to Production

Hello everyone,

I apologize if I'm missing a really obvious resource for this -- I've
looked and haven't found anything.

I'm working my way through my first real Rails application, and so
far, have spent all of my time in Development mode. We're pretty close
to launching (at least as an alpha version of the site), and I'm
totally in the dark about the best way to go about moving into
production database-wise.

There are tons of resources on getting your server running -- I have
that covered. What I don't really know is what to do with the
database. Is it best to start the Production database from scratch and
load everything into it? I have a fair bit of data from testing in my
development database, and wouldn't mind having that move over to
production. How kosher is that? Is there a particular accepted
strategy for this?

To go one step further, since we'll be continuously developing the
application, when I am ready to upgrade the production environment, do
I simply run any of the outstanding migrations on it?

I feel like I'm missing some big, giant, obvious answer, and if there
is a lot written about this, I would be eternally grateful if someone
would point me in that direction.

Thanks,

Dan

I'm working my way through my first real Rails application, and so
far, have spent all of my time in Development mode. We're pretty close
to launching (at least as an alpha version of the site), and I'm
totally in the dark about the best way to go about moving into
production database-wise.

There are tons of resources on getting your server running -- I have
that covered. What I don't really know is what to do with the
database. Is it best to start the Production database from scratch and
load everything into it? I have a fair bit of data from testing in my
development database, and wouldn't mind having that move over to
production. How kosher is that? Is there a particular accepted
strategy for this?

Hard to say without knowing how "testy" your test data is. If you make the decision to do a one time import of that data because it's *good* data, I don't see a problem that that. I wouldn't get in the habit of migrating data from development to production though. That's just asking for trouble.

If it were me, I prefer a production setup to start from scratch with all the necessary import scripts to get whatever seed data into the database necessary -- never relying on anything in development/test/stage/etc.

To go one step further, since we'll be continuously developing the
application, when I am ready to upgrade the production environment, do
I simply run any of the outstanding migrations on it?

Yes. After QA of course. Look into Capistrano. It will make things easier and you'll find more information on managing the release process.

-philip