Это мой второй вопрос о моих проблемах с созданием собственного скрипта миграции.
Я создаю только новые узлы и не беспокоюсь об обновлениях.
Код:
$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);
Например, мой $ified установлен в 0 и после сохранения я вижу обновленный столбец этой строки узла в списке содержимого администратора с текущим значением даты и времени.
db_query('UPDATE {node} SET created=:created, changed=:changed WHERE nid=:nid', array(':created'=>$whatever,':changed'=>$whatever,':nid'=>$node->nid));
после сохранения.