* * @author Eduardo Bonfandini [eduardo@solis.coop.br] * * @version $Id$ * * \b Maintainers: \n * Eduardo Bonfandini [eduardo@solis.coop.br] * Jamiel Spezia [jamiel@solis.coop.br] * * @since * Class created on 06/01/2011 * **/ $MIOLO = MIOLO::getInstance(); $messagesG = array(); //1 - remove exemplares duplicados na gtcexemplarycontrol para poder adicionar a chave primária, //mas só caso a chave não exista //por padrão a remoção serve deve acontecer $doPKDelete = true; $columns = bCatalogo::obterColunasDaTabela('public', 'gtcExemplaryControl'); foreach ( $columns as $line => $column ) { //caso exista alguma chave primária na tabela a checagem não é necessária if ( MUtil::getBooleanValue( $column->primaryKey ) == true ) { $doPKDelete = false; } } //só executa remoção caso realmente necessário, para otimizar if ( $doPKDelete ) { $messagesG[][] = "Removendo controles/exemplares duplicados na gtExemplaryControl."; /*$result = bBaseDeDados::consultar( " DELETE FROM gtcexemplarycontrol WHERE ctid NOT IN ( SELECT max(ctid) FROM gtcexemplarycontrol GROUP BY controlnumber,itemnumber ) RETURNING controlnumber, itemnumber" );*/ } //remove usuário do miolo duplicasos, normalmente é um sql rápido no gnuteca $result = bBaseDeDados::consultar( "DELETE FROM miolo_user WHERE ctid NOT IN (SELECT max(ctid) FROM miolo_user GROUP BY login);"); //Executar de update para null de e-mails duplicados. $result = bBaseDeDados::consultar( "UPDATE basperson SET email = null WHERE ctid NOT IN (SELECT max(ctid) FROM basperson GROUP BY email);"); $fields[] = new MTableRaw( 'Script de sincronização inicial', $messagesG, array(_M('Mensagem','gnuteca3')), 'initialMessage'); $fields[] = new MSeparator('
'); $theme->appendContent( $fields ); ?>