* * @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(); $db = new BDatabase('gnuteca3'); $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 = $db->getTableColumns('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 = $db->query( " DELETE FROM gtcexemplarcontrol WHERE ctid NOT IN ( SELECT max(ctid) FROM gtcexemplarcontrol GROUP BY controlnumber,itemnumber ) RETURNING controlnumber, itemnumber" ); } //remove usuário do miolo duplicasos, normalmente é um sql rápido no gnuteca $result = $db->query( "DELETE FROM miolo_user WHERE ctid NOT IN (SELECT max(ctid) FROM miolo_user GROUP BY login);"); $fields[] = new MTableRaw( 'Script de sincronização inicial', $messagesG, array(_M('Mensagem','gnuteca3')), 'initialMessage'); $fields[] = new MSeparator('
'); $theme->appendContent( $fields ); ?>