Commit 481ffab7ce8ac6fc252903024016a611c0096902
Committed by
Rodrigo Siqueira de Melo
1 parent
d44b4bb9
Exists in
master
and in
79 other branches
Add documentation about how to export data to CSV
Showing
3 changed files
with
51 additions
and
6 deletions
Show diff stats
Rakefile
... | ... | @@ -122,12 +122,14 @@ task :restore => [ssh_config_file, config_file] do |
122 | 122 | sh 'ssh', '-F', ssh_config_file, 'integration', 'sudo', 'systemctl start colab' |
123 | 123 | end |
124 | 124 | |
125 | -task :export_data => [ssh_config_file, config_file] do | |
126 | - # setup | |
127 | - sh 'mkdir', '-p', 'exported_data' | |
128 | - #social | |
129 | - sh 'ssh', '-F', ssh_config_file, 'social', 'cd /usr/lib/noosfero/ && sudo -u noosfero RAILS_ENV=production bundle exec rake export:catalog:csv' | |
130 | - sh 'scp', '-F', ssh_config_file, 'social:/tmp/software_catalog_csvs.tar.gz', 'exported_data/' | |
125 | +namespace :export_data do | |
126 | + task :noosfero => [ssh_config_file, config_file] do | |
127 | + # setup | |
128 | + sh 'mkdir', '-p', 'exported_data' | |
129 | + #social | |
130 | + sh 'ssh', '-F', ssh_config_file, 'social', 'cd /usr/lib/noosfero/ && sudo -u noosfero RAILS_ENV=production bundle exec rake export:catalog:csv' | |
131 | + sh 'scp', '-F', ssh_config_file, 'social:/tmp/software_catalog_csvs.tar.gz', 'exported_data/' | |
132 | + end | |
131 | 133 | end |
132 | 134 | |
133 | 135 | task :bootstrap_common => 'config/local/ssh_config' | ... | ... |
... | ... | @@ -0,0 +1,42 @@ |
1 | +Exportação de Dados do Catálogo para CSV | |
2 | +====== | |
3 | + | |
4 | +Esta seção descreve como realizar a exportação dos dados do Catálogo de | |
5 | +Software para arquivos CSV e como obter esses arquivos. Todo o procedimento | |
6 | +deve ser realizado num *shell* onde o diretório atual é o repositório de | |
7 | +controle de versão do SPB. | |
8 | + | |
9 | +Gerando os CSV | |
10 | +---------------------- | |
11 | + | |
12 | +Suponha que estamos realizando a exportação de dados do ambiente de produção, | |
13 | +chamado de ``prod``; o comando para realizar uma *exportação atualizada* é o | |
14 | +seguinte (note ``SPB_ENV=prod``):: | |
15 | + | |
16 | + $ rake export_data:noosfero SPB_ENV=prod | |
17 | + | |
18 | +Esta operação vai executar o script na máquina *Social* para exportar os dados | |
19 | +atuais do Catálogo de Software para arquivos CSVs e adicioná-los em um | |
20 | +``tar.gz`` chamado *software_catalog_csvs.tar.gz*. Por fim, o comando ainda irá | |
21 | +copiar o arquivo ``software_catalog_csvs.tar.gz`` para um subdiretório chamado | |
22 | +``exported_data`` na sua estação de trabalho. | |
23 | + | |
24 | +Obtendo os arquivos | |
25 | +--------------------------- | |
26 | + | |
27 | +Ao final do procedimento de exportação de dados para CSV o arquivo | |
28 | +``software_catalog_csvs.tar.gz`` será copiado para dentro do subdiretório | |
29 | +``exported_data`` na sua estação de trabalho. Para extrair os arquivos para | |
30 | +fora do ``software_catalog_csvs.tar.gz``, execute o seguinte comando:: | |
31 | + | |
32 | + $ tar -vzxf software_catalog_csvs.tar.gz | |
33 | + | |
34 | +Os seguintes arquivos ``*.csv`` devem ser extraídos na execução do comando | |
35 | +acima: | |
36 | + | |
37 | +* *softwares.csv*: Contém os dados principais dos Softwares presentes no Catálogo de Software | |
38 | + | |
39 | +* *categories.csv*: Contém a lista de Categories de Software do SPB | |
40 | + | |
41 | +* *software_categories.csv*: Contém a relação dos Softwares e suas Categorias. Este arquivo é semelhante à uma tabela de Banco de Dados Relacional N x N, onde cada linha contém o ID do Software e o ID de uma de suas Categorias. | |
42 | + | ... | ... |