Recently I’ve wanted to be able to take the data I’ve painstakingly
defined in my fixture files and slurp it up into my development database
so I can play with my website (locally, in development mode) with the
same data I use in my tests.
In a similar vein, I want to take the table definitions in the
development_structure.sql file and use it to re-define my development
database schema. Unless I’m missing something obvious, when someone
changes the db schema commits it into our subversion repository, I
always have to hand-update my development db to match the new schema (if
I don’t want to toast the data that’s already in there), or fire up my
db tool, drop all the databases, then execute the _structure.sql script
(and lose all my data).
Is there already something in rails that can do one or both of these for
me?
I guess I could take a whack at writing a couple of rake tasks, but I’m
hoping that surely someone else has already written these already?
On Fri, Jan 27, 2006 at 02:05:24AM +0100, Jeff C. wrote:
I don’t want to toast the data that’s already in there), or fire up my
db tool, drop all the databases, then execute the _structure.sql script
(and lose all my data).
Is there already something in rails that can do one or both of these for
me?
I guess I could take a whack at writing a couple of rake tasks, but I’m
hoping that surely someone else has already written these already?
(you lose any data in your development database however)
You do, but if your fixtures are set up properly, so what? Why would
there
be data in a development database that isn’t in the fixtures? If there
is,
then the time spent tip-toeing around your databasee is going to nickel
and
dime you until you’ve spent much more time doing things the hard way
than
just taking an hour and writing robust fixtures.
Worse, you’ll be less inclined to make data structure changes because of
the
extra work managing data, when a structure change really is the best
choice
for the project.
I recommend making the most out of tools like fixtures to manage your
development environment. Your project will benefit from it in the long
run.
Recently I’ve wanted to be able to take the data I’ve painstakingly
defined in my fixture files and slurp it up into my development database
so I can play with my website (locally, in development mode) with the
same data I use in my tests.
rake load_fixtures
(you lose any data in your development database however)
In a similar vein, I want to take the table definitions in the
development_structure.sql file and use it to re-define my development
database schema. Unless I’m missing something obvious, when someone
changes the db schema commits it into our subversion repository, I
always have to hand-update my development db to match the new schema (if
I don’t want to toast the data that’s already in there), or fire up my
db tool, drop all the databases, then execute the _structure.sql script
(and lose all my data).