Community Documentation

node_update_7000

7 node.install node_update_7000()

Upgrade the node type table and fix node type 'module' attribute to avoid name-space conflicts.

File

modules/node/node.install, line 508
Install, update and uninstall functions for the node module.

Code

<?php
function node_update_7000() {
  // Rename the module column to base.
  db_change_field('node_type', 'module', 'base', array('type' => 'varchar', 'length' => 255, 'not null' => TRUE));

  db_add_field('node_type', 'module', array(
    'description' => 'The module defining this node type.', 
    'type' => 'varchar', 
    'default' => '', 
    'length' => 255, 
    'not null' => TRUE,
  ));

  db_add_field('node_type', 'disabled', array(
    'description' => 'A boolean indicating whether the node type is disabled.', 
    'type' => 'int', 
    'not null' => TRUE, 
    'default' => 0, 
    'size' => 'tiny',
  ));

  $modules = db_select('system', 's')
    ->fields('s', array('name'))
    ->condition('type', 'module');
  db_update('node_type')
    ->expression('module', 'base')
    ->condition('base', $modules, 'IN')
    ->execute();

  db_update('node_type')
    ->fields(array('base' => 'node_content'))
    ->condition('base', 'node')
    ->execute();
}
?>
Login or register to post comments