You are here

function draggableviews_update_6401 in DraggableViews 6.3

Same name and namespace in other branches
  1. 7 draggableviews.install \draggableviews_update_6401()

Alter schema to add arguments field

File

./draggableviews.install, line 139
Draggableviews defines a new database schema for saving the collapsed/expand state of views.

Code

function draggableviews_update_6401() {
  $ret = array();
  db_drop_primary_key($ret, 'draggableviews_structure');
  db_add_field($ret, 'draggableviews_structure', 'view_name', array(
    'type' => 'varchar',
    'length' => 32,
    'not null' => TRUE,
    'default' => '',
  ));

  // Update code.
  $result = db_query('SELECT vid FROM {draggableviews_structure}');
  while ($row = db_fetch_object($result)) {
    $view = db_fetch_object(db_query('SELECT name FROM {views_view} WHERE vid=%d', $row->vid));
    db_query("UPDATE {draggableviews_structure} SET view_name='%s' WHERE vid=%d", $view->name, $row->vid);
  }
  db_drop_field($ret, 'draggableviews_structure', 'vid');
  db_add_primary_key($ret, 'draggableviews_structure', array(
    'nid',
    'view_name',
    'delta',
    'args',
  ));
  db_drop_primary_key($ret, 'draggableviews_collapsed');
  db_add_field($ret, 'draggableviews_collapsed', 'view_name', array(
    'type' => 'varchar',
    'length' => 32,
    'not null' => TRUE,
    'default' => '',
  ));

  // Update code.
  $result = db_query('SELECT vid FROM {draggableviews_collapsed}');
  while ($row = db_fetch_object($result)) {
    $view = db_fetch_object(db_query('SELECT name FROM {views_view} WHERE vid=%d', $row->vid));
    db_query("UPDATE {draggableviews_collapsed} SET view_name='%s' WHERE vid=%d", $view->name, $row->vid);
  }
  db_drop_field($ret, 'draggableviews_collapsed', 'vid');
  db_add_primary_key($ret, 'draggableviews_collapsed', array(
    'uid',
    'parent_nid',
    'view_name',
  ));
  return $ret;
}