Durante o processo de desenvolvimento do app é possível criar uma massa de dados, para isto basta usar o arquivo seed.rb

Este arquivo fica localizado em :

db/seeds.rb

Execute no terminal :

rake –describe db:seed

rake db:seed
Load the seed data from db/seeds.rb

Vamos por exemplo criar uma tabela para conter objetos do tipo pessoa, para isto faça conforme abaixo :

rails g model person first_name age:integer last_name

Feito isto, o rails irá criar o model Person com os atributos : “first_name”, “age” e “last_name”

Agora vamos abrir o arquivo seeds.rb para começar a criar a massa de dados.

Adicione o código abaixo:


Person.destroy_all //Note que antes de gerarmos massa iremos apagar todo o conteúdo desta tabela.
Person.create![
{first_name: "Kalman", last_name: "Smith", age: 33 },
{first_name: "John", last_name: "Whatever", age: 27 },
{first_name: "Michael", last_name: "Smith", age: 15 },
{first_name: "Josh", last_name: "Oreck", age: 57 },
{first_name: "John", last_name: "Smith", age: 27 },
{first_name: "Bill", last_name: "Gates", age: 75 },
{first_name: "LeBron", last_name: "James", age: 30 },
]

Repare no “!” do método create, com este símbolo caso haja alguma inconsistência na massa de dados, quando você executar o comando seed, este irá informar o erro.

Por exemplo, se esquecemos uma vírgula entre os atributos e executássemos o comando abaixo:


rake db:seed
rake aborted!
SyntaxError: .../db/seeds.rb:12: syntax error, unexpected tIDENTIFIER, expecting '}'
{first_name: "Kalman", last_name: "Smith"m age: 33 },

Basta corrigir e executar o comando novamente.
rake db:seed

Para verificar se o banco foi populado corretamente, basta acessar o banco conforme abaixo:


rails db
.headers on
.mode columns
select * from people

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>