Este repositório fornece meios, através do docker, para facilitar o uso dos dados abertos oriundos do Tribunal de Contas do estado de Pernambuco. Com ele é possível restaurar o banco SQL Server com todos os pacotes necessários para o funcionamento da aplicação, como dependências e bibliotecas.
-
Garanta que você tenha, no mínimo, 40gb de espaço livre em seu computador.
-
Os serviços utilizam docker para configuração do ambiente e execução do script. Instale o docker e tenha certeza que você também tem o docker-compose instalado.
Essas instruções fornecerão acesso ao banco funcionando em sua máquina local para fins de desenvolvimento, execução de pesquisas ou outros meios para promover o controle social.
Os passos para a restauração e utilização do banco de dados são elecandos abaixo:
- Após ter clonado o repositório, baixe o arquivo com o banco no formato .rar e o descompacte na pasta dados.
# clone o repositório
git clone https://github.com/JoaquimCMH/tomeconta-tce-pe-dados.git
cd tomeconta-tce-pe-dados
# baixe o arquivo compactado com o backup
wget -P dados "https://www.tce.pe.gov.br/internet/docs/dadosabertos/TomeConta.rar"
# descompacte o arquivo na pasta dados
unrar x dados/TomeConta.rar dados/
- É necessário adicionar criar uma cópia do .env.sample para um arquivo .env na raiz do repositório. Além disso é necessário preencher as variáveis com seus respectivos valores.
Aqui você pode optar por executar o script automático de download e atualização do BD fazendo:
sudo ./update-data.sh
Ou optar por seguir a próxima seção que detalha os passos separadamente:
- Execute o docker e crie a pasta onde ficará o arquivo .bak.
# execute o container
sudo docker-compose up -d
# entre no container
sudo docker exec -it mssql-tce-pe bash
# crie a pasta backup dentro do container
mkdir /var/opt/mssql/backup
# SAIA do container utilizando ctrl+d
- Copie o .bak para o container.
sudo docker cp ../dados/Backup/TomeConta/TomeConta/TomeConta.bak mssql-tce-pe:/var/opt/mssql/backup
- Restaure o banco.
# entre no container
sudo docker exec -it mssql-tce-pe bash
# execute o sqlcmd
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'S3cr3t-P4ssw0rd!'
# verifique os arquivos do arquivo de backup
# observe na saída se existe TomeConta.mdf e TomeConta_log.ldf para prosseguir com a importação
RESTORE FILELISTONLY
FROM DISK = '/var/opt/mssql/backup/TomeConta.bak'
GO
# restaure o banco (demora alguns minutos)
RESTORE DATABASE TOMECONTA
FROM DISK = '/var/opt/mssql/backup/TomeConta.bak' WITH
MOVE 'TomeConta' TO '/var/opt/mssql/data/TomeConta.mdf',
MOVE 'TomeConta_log' TO '/var/opt/mssql/data/TomeConta_log.ldf'
GO
- Verifique se a restauração funcionou recuperando as tabelas presente no banco.
USE TOMECONTA
SELECT * FROM information_schema.tables;
GO
- Por fim, para interromper a execução do container execute:
sudo docker-compose down
Informações sobre os dados estão disponíveis na pasta doc.
- Docker - Containers
- SQL Server - Sistema gerenciador de Banco de dados relacional