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