That is a great question. I’ll be intersted to see the answers.
I use mysql to do this for me.
Basically, I create a file called data_load.sql. Rows in it look like
this-
INSERT INTO table (‘field_1’, ‘field_2’) VALUES (‘value 1’, ‘value 2’);
Then every time I blow my development db away, I run -
mysql -u <> -p<> database_name < data_load.sql
I think it would be better to use yml because doing what I describe
above is
not DRY. I am always setting up the testing yml fixtures, and writting
insert commands in my data_load.sql for the same records. To me, that
seems
like the worst kind of unDRYness.
On Fri, Jan 20, 2006 at 12:00:08PM -0800, Zack C. wrote:
Is there a way to use the Fixture class to handle this even though this is
outside the typical testing methods?
As always, rake is your best friend. Run “rake load_fixtures” and all
of
the data in your fixtures will end up in the current environment’s
database
(default: development, but I presume that RAILS_ENV=production rake
load_fixtures would do the obvious thing).
Matt
–
A few minutes ago I attempted to give a flying fsck, but the best I
could do
was to watch it skitter across the floor.
– Anthony de Boer, ASR
As always, rake is your best friend. Run “rake load_fixtures” and all of
the data in your fixtures will end up in the current environment’s database
(default: development, but I presume that RAILS_ENV=production rake
load_fixtures would do the obvious thing).
That’s all well and good… but is there an easy way to keep a set of
fixtures for development that are different from the set you use for
testing?
I am surprised this has not come up earlier. How do most people
pre-populate lookup values in the database? I was hoping there would
be a structure similar to mocks (mocks/development and mocks/test) in
the fixtures directory. If you build it like this then you are able to
satisfy all of the different environments. I definitely don’t want my
test data to be pushed into my database. Any suggestions would be
great.