Esta é minha segunda pergunta sobre meus problemas com a criação de scripts de migração personalizados.
Estou criando apenas novos nós e não me importo com atualizações.
Código:
$node = new stdClass();
$node->type = 'migrate';
$node->title = $content['title'];
$node->language = LANGUAGE_NONE;
$node->created = (int) date('U',strtotime($content['created']));
$modified = $content['modified'];
if (! empty($modified) && $modified != '0000-00-00 00:00:00') {
$modified = (int) date('U',strtotime($modified));
} else {
$modified = 0;
}
$node->changed = $modified;
node_object_prepare($node);
#some lines later
node_save($node);
Por exemplo, meu $ modified é definido como 0 e após salvar, vejo a coluna atualizada desta linha do nó na lista de conteúdo do administrador com o valor atual da data e hora.
db_query('UPDATE {node} SET created=:created, changed=:changed WHERE nid=:nid', array(':created'=>$whatever,':changed'=>$whatever,':nid'=>$node->nid));
depois de salvar.