Skip to content

olook/edne-correios

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e-DNE Correios

O e-DNE é um banco de dados que contém todos os CEPs do Brasil.

No entanto, essa base é disponibilizada apenas para download. Então criamos uma ferramenta para importar essa base para nosso banco de dados. Você pode baixar o código no Github ou seguir os passos pra instalação.

Instalação

Baixe o projeto usando Git:

git clone git@github.com:olook/edne-correios.git

Baixe as dependências do projeto:

bundle install

Preparando o banco de dados

Primeiramente vamos importar as informações dos Correios em um banco de dados temporário.

No arquivo config/database.rb você encontra as configurações de usuário, senha e banco de dados (MySQL ou SQLite).

Execute o comando abaixo para criar a estrutura básica das tabelas:

bundle exec rake db:migrate

Baixando os arquivos dos Correios

Depois de comprar a base no site dos Correios, você terá acesso aos arquivos na área de Meus Downloads.

login: rafael.manoel@olook.com.br senha: 934luli4

Os Correios disponibilizam dois tipos de arquivos:

e-DNE Básico - Atualizado até dd/mm/yyyy Atualização do e-DNE Básico - Até dd/mm/yyyy
Esse arquivo possui todos os dados do Brasil, atualizados até a data indicada. Durante o ano, os Correios disponibilizam atualizações em relação àquela base, mas eles fazem isso nesse outro formato.

Baixe apenas o arquivo base e o último de atualização.

Preparando os arquivos

Coloque os arquivos dentro das pastas designadas no projeto edne-correios.

cp eDNE_Basico_ddmm/Delimitado/LOG* edne-correios/data/log/
cp eDNE_Delta_Basico_ddmm/Delimitado/DELTA* edne-correios/data/delta/

Importação

Importe a base e o delta:

bundle exec rake import:log
bundle exec rake import:delta

Pronto! Agora você tem todas as informações no banco de dados.

Recomendamos exportar uma versão consolidada dos CEPs para consultas mais rápidas. Utilizamos o seguinte modelo:

CREATE TABLE `ceps` (
  `cep` varchar(8) NOT NULL,
  `endereco` varchar(255) NOT NULL,
  `bairro` varchar(255) NOT NULL,
  `cidade` varchar(255) NOT NULL,
  `estado` varchar(2) NOT NULL,
  `nome_estado` varchar(255) NOT NULL,
  PRIMARY KEY (`cep`)
);

O comando abaixo irá exportar todos os CEPs para esse formato.

bundle exec rake import:join

Para exportar a base, digite o seguinte comando:

sqlite3 -csv -header db/<banco>.sqlite3 "select * from ceps;" > ceps.csv

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%