https://github.com/elo7/edne-correios
https://github.com/elo7/edne-correios
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/elo7/edne-correios
- Owner: elo7
- License: gpl-3.0
- Archived: true
- Created: 2012-12-03T19:44:55.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2018-12-05T19:07:32.000Z (over 7 years ago)
- Last Synced: 2025-03-23T12:16:45.906Z (about 1 year ago)
- Language: Ruby
- Size: 2.11 MB
- Stars: 63
- Watchers: 5
- Forks: 24
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/elo7/edne-correios) ou seguir os passos pra instalação.
### Instalação
Baixe o projeto usando Git:
```shell
git clone git@github.com:elo7/edne-correios.git
```
Baixe as dependências do projeto:
```shell
bundle install
```
### Preparando o banco de dados
Primeiramente vamos importar as informações dos Correios em um banco de dados temporário.
Atualmente a ferramenta dá suporte para MySQL, SQLite e PostgreSQL. A configuração agora foi transferida para um arquivo externo localizado em `config/database.yml`. Caso queira usar o modo antigo com as configurações misturadas com código ficou comentado as linhas dentro do o arquivo `config/database.rb` com exemplos para SQLite e PostgreSQL:
```ruby
DataMapper.setup(:default, "sqlite3:db/database.sqlite3")
```
ou
```ruby
DataMapper.setup(:default, 'adapter://username:password@hostname/database')
```
Execute o comando abaixo para criar a estrutura básica das tabelas:
```shell
bundle exec rake db:migrate
```
### Baixando os arquivos dos Correios
Depois de comprar a base [no site dos Correios](http://shopping.correios.com.br/wbm/shopping/script/default.aspx), você terá acesso aos arquivos na área de **Meus Downloads**.
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`.
```shell
mv eDNE_Basico_ddmm/Delimitado/LOG* edne-correios/data/log/
mv eDNE_Delta_Basico_ddmm/Delimitado/DELTA* edne-correios/data/delta/
```
### Importação
Importe a base e o delta:
```shell
bundle exec rake import:base
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:
```sql
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.
```shell
bundle exec rake import:join
```