Skip to content

Instantly share code, notes, and snippets.

@rafapolo
Created September 6, 2010 18:07
Show Gist options
  • Save rafapolo/567334 to your computer and use it in GitHub Desktop.
Save rafapolo/567334 to your computer and use it in GitHub Desktop.
Popular todos Estados e Cidades
Tava precisando de todas as cidades do Brasil pra um pequeno projeto... como isso me parece uma necessidade recorrente, vim compartilhar minha solução.
No projeto, fiz:
1:
./generate scaffold estado sigla:string nome:string
./generate scaffold cidade nome:string estado_id:integer
2:
defini em
cidade.rb > belongs_to :estado
estado.rb > has_many :cidades
3:
salvei e renomeei esse link para /migrate/0_popula_estados_cidades.rb
http://gist.github.com/567336
4:
rake db:migrate:up VERSION=PopulaEstadosCidades --trace
E pronto!
>> Estado.all
=> [#<Estado id: 1, sigla: "AC", nome: "Acre">, #<Estado id: 2, sigla: "AL", nome: "Alagoas">, #<Estado id: 3, sigla: "AM", nome: "Amazonas">, #<Estado id: 4, sigla: "AP", nome: "Amapá">, #<Estado id: 5, sigla: "BA", nome: "Bahia">, #<Estado id: 6, sigla: "CE", nome: "Ceará">, #<Estado id: 7, sigla: "DF", nome: "Distrito Federal">, #<Estado id: 8, sigla: "ES", nome: "Espírito Santo">, #<Estado id: 9, sigla: "GO", nome: "Goiás">, #<Estado id: 10, sigla: "MA", nome: "Maranhão">, #<Estado id: 11, sigla: "MG", nome: "Minas Gerais">, #<Estado id: 12, sigla: "MS", nome: "Mato Grosso do Sul">, #<Estado id: 13, sigla: "MT", nome: "Mato Grosso">, #<Estado id: 14, sigla: "PA", nome: "Pará">, #<Estado id: 15, sigla: "PB", nome: "Paraíba">, #<Estado id: 16, sigla: "PE", nome: "Pernambuco">, #<Estado id: 17, sigla: "PI", nome: "Piauí">, #<Estado id: 18, sigla: "PR", nome: "Paraná">, #<Estado id: 19, sigla: "RJ", nome: "Rio de Janeiro">, #<Estado id: 20, sigla: "RN", nome: "Rio Grande do Norte">, #<Estado id: 21, sigla: "RO", nome: "Rondônia">, #<Estado id: 22, sigla: "RR", nome: "Roraima">, #<Estado id: 23, sigla: "RS", nome: "Rio Grande do Sul">, #<Estado id: 24, sigla: "SC", nome: "Santa Catarina">, #<Estado id: 25, sigla: "SE", nome: "Sergipe">, #<Estado id: 26, sigla: "SP", nome: "São Paulo">, #<Estado id: 27, sigla: "TO", nome: "Tocantins">]
>> Cidade.count
=> 5592
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment