Forum: Ruby on Rails Pre-populate db with yaml outside of testing?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
480cd6d5c2d7ff8d7f83a67137eb794d?d=identicon&s=25 Zack Chandler (Guest)
on 2006-01-20 21:40
(Received via mailing list)
Hi.

What is the best way to pre-populate your database with records while
developing, not testing?

For example, I want to:
1) > [run this command to populate db]
2) > ruby script/server
3) now I can surf to localhost:3000 and my app will already have
relevant
data

I'm hoping to use yaml to suck it in.

Is there a way to use the Fixture class to handle this even though this
is
outside the typical testing methods?

Thanks,
Zack
69b2ef4bce76b5b27c94e898976dc6d8?d=identicon&s=25 matthew clark (Guest)
on 2006-01-20 22:01
(Received via mailing list)
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 <<user>> -p<<password>> 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.

matt
55428cbf149e35dd4b65f1d019d04139?d=identicon&s=25 Matthew Palmer (Guest)
on 2006-01-20 22:58
(Received via mailing list)
On Fri, Jan 20, 2006 at 12:00:08PM -0800, Zack Chandler 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
17acfbd3a05cfb59e0543235cc0a813b?d=identicon&s=25 Joshua Susser (Guest)
on 2006-01-21 01:02
Matthew Palmer wrote:
> 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?

thanks,
j
Dcc2d3a8038cd47219af0eebe0a8a78e?d=identicon&s=25 Carl Fyffe (Guest)
on 2006-01-21 18:35
(Received via mailing list)
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.
6076c22b65b36f5d75c30bdcfb2fda85?d=identicon&s=25 Ezra Zygmuntowicz (Guest)
on 2006-01-21 21:37
(Received via mailing list)
Here is a blog post by topfunky that might do what you are looking for:

http://nubyonrails.topfunky.com/articles/2005/12/2...
yaml-reference-data

Cheers-
-Ezra

On Jan 21, 2006, at 9:32 AM, Carl Fyffe wrote:

>>> As always, rake is your best friend.  Run "rake load_fixtures"
>> thanks,
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>

-Ezra Zygmuntowicz
WebMaster
Yakima Herald-Republic Newspaper
ezra@yakima-herald.com
509-577-7732
480cd6d5c2d7ff8d7f83a67137eb794d?d=identicon&s=25 Zack Chandler (Guest)
on 2006-01-23 07:02
(Received via mailing list)
Thanks Ezra - I had looked at this as a possibility.

>rake load_fixtures
works great for now.

Zack
This topic is locked and can not be replied to.