[development] fixing broken nodes

Lluís Forns enboig at gmail.com
Tue Apr 20 07:38:19 UTC 2010


I have some modules creating nodes calling directly node_save() and
now when trying to rebuild permissions table drupal fails at a random
node.

I think this is caused because of some bad created nodes, and I thing
I have found a way to fix them; but it fail because of memory limit.
Is there a way to make node_load() not store nodes in cache? (I have
around 30k nodes)

Thanks

<?php
function mymodule_update_6008() {
  $ret=array();
  $res=db_query("SELECT nid, type FROM {node}");
  while ($row=db_fetch_array($res)){
    $prenode['type']=$row['type'];
    $prenode=(object)$prenode;
    $node_new=node_object_prepare($prenode);
    $node_old=node_load($row['nid']);
    foreach($node_old AS $key => $value) {
      $node_new->$key = $value;
    }
    node_save($node_new);
  }
}
?>


-- 
*Les normes hi són perquè hi pensis abans de saltar-te-les
*La vida és com una taronja, què esperes a exprimir-la?
*Si creus que l'educació és cara, prova la ignorància.
*La vida és com una moneda, la pots gastar en el que vulguis però
només una vegada.
*Abans d'imprimir aquest missatge, pensa en el medi ambient.


More information about the development mailing list