# Howto populate database with model data?

**URL:** <https://www.ruby-forum.com/t/howto-populate-database-with-model-data/90520>\
**Category:** Rails\
**Created:** [March 29, 2007, 3:53pm UTC](https://www.ruby-forum.com/t/howto-populate-database-with-model-data/90520 "2007-03-29T15:53:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mixplate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@mixplate](https://www.ruby-forum.com/u/mixplate)\
**Post date:** [March 29, 2007, 3:53pm UTC](https://www.ruby-forum.com/t/howto-populate-database-with-model-data/90520/1 "2007-03-29T15:53:55Z")

</div>

is there a rails way?

my brute force thinking is just put a while loop and a case statement in  
the index function like this

num = 0  
typenum = 0

while num \< 200

when typenum  
case 1  
@something = Model.new  
@something.whatever = 3  
…  
@something.save  
case 2  
…  
…  
case 5  
…  
end

```
typenum++
num++
typenum = 0 if typenum > 5

```

end

---

<div class="post-metadata">

**Author:** ![mixplate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@mixplate](https://www.ruby-forum.com/u/mixplate)\
**Post date:** [March 29, 2007, 4:34pm UTC](https://www.ruby-forum.com/t/howto-populate-database-with-model-data/90520/2 "2007-03-29T16:34:10Z")

</div>

On Mar 29, 8:53 am, mixplate [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> when typenum  
> end
> 
> ```
> typenum++
> num++
> typenum = 0 if typenum > 5
> 
> ```
> 
> end
> 
> –  
> Posted viahttp://www.ruby-forum.com/.

You want 40 instances of 5 different types of objects, right?

[Model1,Model2,Model3,Model4,Model5].each do |model|  
0.upto(40) { model.create(:whatever =\> 3) }  
end

Is this what you’re looking for?

Jeff

> **[Hey Daddio!](http://softiesonrails.com)**
>
> Home of Hey Daddio Software

---

<div class="post-metadata">

**Author:** ![mixplate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@mixplate](https://www.ruby-forum.com/u/mixplate)\
**Post date:** [March 29, 2007, 5:31pm UTC](https://www.ruby-forum.com/t/howto-populate-database-with-model-data/90520/3 "2007-03-29T17:31:05Z")

</div>

awesome! but some of my models have different attributes and also i  
would like to have somewhat different values for each of them. numbers i  
can do a random, but not sure about the strings and text…

Jeff C. wrote:

> On Mar 29, 8:53 am, mixplate [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > when typenum  
> > end
> > 
> > ```
> > typenum++
> > num++
> > typenum = 0 if typenum > 5
> > 
> > ```
> > 
> > end
> > 
> > –  
> > Posted viahttp://www.ruby-forum.com/.
> 
> You want 40 instances of 5 different types of objects, right?
> 
> [Model1,Model2,Model3,Model4,Model5].each do |model|  
> 0.upto(40) { model.create(:whatever =\> 3) }  
> end
> 
> Is this what you’re looking for?
> 
> Jeff  
> [softiesonrails.com](http://softiesonrails.com)

---

<div class="post-metadata">

**Author:** ![mixplate](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a6a055/32.png) [@mixplate](https://www.ruby-forum.com/u/mixplate)\
**Post date:** [March 29, 2007, 8:24pm UTC](https://www.ruby-forum.com/t/howto-populate-database-with-model-data/90520/4 "2007-03-29T20:24:02Z")

</div>

You can load your test fixtures into the db using rake db:fixtures:load.

b
