Issue #567
Erro em migration com dump do banco
Pessoal,
Com o noosfero na stable-1.3 e e os plugins na master, fui tentar subir um ambiente noosfero com o dump do banco de produção de meados de setembro mas falhou na migração tal como segue:
== CreateSiorgInstitutions: migrating ======================================== .............................rake aborted! An error has occurred, this and all later migrations canceled:
Validation failed: Cnpj has already been taken
/usr/lib/ruby/vendor_ruby/active_record/validations.rb:56:in save!'
/usr/lib/ruby/vendor_ruby/active_record/attribute_methods/dirty.rb:33:in
save!'
/usr/lib/ruby/vendor_ruby/active_record/transactions.rb:264:in block in save!'
/usr/lib/ruby/vendor_ruby/active_record/transactions.rb:313:in
block in with_transaction_returning_status'
/usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/database_statements.rb:192:in transaction'
/usr/lib/ruby/vendor_ruby/active_record/transactions.rb:208:in
transaction'
/usr/lib/ruby/vendor_ruby/active_record/transactions.rb:311:in with_transaction_returning_status'
/usr/lib/ruby/vendor_ruby/active_record/transactions.rb:264:in
save!'
/usr/lib/ruby/vendor_ruby/active_record/validations.rb:41:in create!'
/SPB-LXC/noosfero/config/plugins/spb_migrations/db/migrate/20151002180659_create_siorg_institutions.rb:55:in
block in up'
/usr/lib/ruby/1.9.1/csv.rb:1792:in each'
/usr/lib/ruby/1.9.1/csv.rb:1208:in
block in foreach'
/usr/lib/ruby/1.9.1/csv.rb:1354:in open'
/usr/lib/ruby/1.9.1/csv.rb:1207:in
foreach'
/SPB-LXC/noosfero/config/plugins/spb_migrations/db/migrate/20151002180659_create_siorg_institutions.rb:11:in up'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:410:in
block (2 levels) in migrate'
/usr/lib/ruby/1.9.1/benchmark.rb:280:in measure'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:410:in
block in migrate'
/usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/connection_pool.rb:129:in with_connection'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:389:in
migrate'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:528:in migrate'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:720:in
block (2 levels) in migrate'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:775:in call'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:775:in
block in ddl_transaction'
/usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/database_statements.rb:192:in transaction'
/usr/lib/ruby/vendor_ruby/active_record/transactions.rb:208:in
transaction'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:775:in ddl_transaction'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:719:in
block in migrate'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:700:in each'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:700:in
migrate'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:570:in up'
/usr/lib/ruby/vendor_ruby/active_record/migration.rb:551:in
migrate'
/usr/lib/ruby/vendor_ruby/active_record/railties/databases.rake:193:in block (2 levels) in <top (required)>'
/usr/lib/ruby/vendor_ruby/rake/task.rb:205:in
call'
/usr/lib/ruby/vendor_ruby/rake/task.rb:205:in block in execute'
/usr/lib/ruby/vendor_ruby/rake/task.rb:200:in
each'
/usr/lib/ruby/vendor_ruby/rake/task.rb:200:in execute'
/usr/lib/ruby/vendor_ruby/rake/task.rb:158:in
block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize'
/usr/lib/ruby/vendor_ruby/rake/task.rb:151:in
invoke_with_call_chain'
/usr/lib/ruby/vendor_ruby/rake/task.rb:144:in invoke'
/usr/lib/ruby/vendor_ruby/rake/application.rb:116:in
invoke_task'
/usr/lib/ruby/vendor_ruby/rake/application.rb:94:in block (2 levels) in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:94:in
each'
/usr/lib/ruby/vendor_ruby/rake/application.rb:94:in block in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:133:in
standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:88:in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:66:in
block in run'
/usr/lib/ruby/vendor_ruby/rake/application.rb:133:in standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:63:in
run'
/usr/bin/rake:27:in `'
-
uso esse script para criar o ambiente
-
não vou colocar aqui o dump do banco ;) mas podem me pedir
-
@melissawen irei investigar isso. Farei o mesmo teste que você fez aqui e já corrijo outros problemas que possam aparecer.
-
vamos lá, mais informações: 1 - meu dump do portal é de junho 2 - se eu ativar plugin+db:migrate na sequência: organization_ratings > software_communities > gov_user > spb_migrations, ele passa nos 3 pimeiros e quebra com o mesmo erro no spb_migration.
-
Identifiquei o problema nessa migration e acabei achando várias outras migrations problemáticas. Acho que não vale a pena resolvermos elas pq já foram executadas no ambiente de produção. Fiz os testes do banco mais atual de produção com o código do noosfero 1.3 e os plugins no master e não há nenhuma migration pendente para ser executada. Vou fechar essa issue.
-
Status changed to closed
-
Bom, a questão é que passamos a validar se um cnpj é único quando cadastramos uma nova instituição e no arquivo fonte para inserção destas instituições no sistema há cnpj repetidos.
Se alguém for editar alguma informação de uma instituição já inserida no banco que cai neste problema, vai dar erro e ela não vai conseguir salvar. Acredito que o ideal seja colocar o CNPJ correto destas instituições pela interface mesmo por quem o definiu repetido/incorreto.
@thiago você sabe quem forneceu o nome/cnpj das instituições que usamos para popular o banco?
Os CNPJs duplicados são estes:
- 100906,"Instituto Federal de Educação, Ciência e Tecnologia de Farroupilha",IFFAR,Pública,Brasil,RS,Santa Maria,Federal,Executivo,Autarquia,Não,10.662.072/0001-58
100906,"Instituto Federal de Educação, Ciência e Tecnologia Farroupilha ",IFFarroupilha,Pública,Brasil,RS,São Vicente do Sul,Federal,Executivo,Autarquia,Sim,10.662.072/0001-58
324,Departamento de Polícia Federal ,DPF,Pública,Brasil,DF,Brasilia,Federal,Executivo,Autarquia,Sim,00.394.494/0014-50
704,Departamento de Polícia Rodoviária Federal ,DPRF,Pública,Brasil,DF,Brasilia,Federal,Executivo,Autarquia,Sim,00.394.494/0014-50
3159,Ministério das Comunicações ,MC,Pública,Brasil,DF,Brasilia,Federal,Executivo,Administração Direta,Sim,00.394.437/0004-08
263,Ministério das Relações Exteriores ,MRE,Pública,Brasil,DF,Brasilia,Federal,Executivo,Administração Direta,Sim,00.394.437/0004-08
86144,Agência Nacional de Aviação Civil,ANAC,Pública,Brasil,DF,Brasilia,Federal,Executivo,Autarquia,Sim,07.947.821/0001-89
115257,Secretaria de Aviação Civil ,SAC,Pública,Brasil,DF,Brasilia,Federal,Executivo,Administração Direta,Sim,07.947.821/0001-89
36670,Ministério do Esporte ,ME ,Pública,Brasil,DF,Brasilia,Federal,Executivo,Administração Direta,Sim,28.523.215/0001-06
427,Universidade Federal Fluminense ,UFF ,Pública,Brasil,RJ,Niterói,Federal,Executivo,Autarquia,Sim,28.523.215/0001-06
-
Status changed to reopened
-
Vixe...
-
@arthurmde você sabe mais detalhes sobre esta lista de instituições? se ela chegou com os cnpj duplicados ou foi algum tratamento dado a ela? assim posso abrir uma issue mais consistente para resolvermos o problema
-
@melissawen vi agora =), mas haviam muitos erros nos CNPJs, duplicações, CNPJ errado, etc... O que fizemos foi remover as validações de CNPJ devido a isso e informei sobre isso à eles. Se a validação voltou isso iria quebrar mesmo. Isso ainda acontece?
-
Assignee removed
-
Status changed to closed
-
Pessoal, como estamos na fase de encerramento do projeto, vou fechar essa issue.