+<?php
+
+/**
+ * @file
+ * Install, update and uninstall functions for the draggableviews module.
+ */
+
+/**
+ * Implements hook_schema().
+ */
+function draggableviews_schema() {
+ $schema['draggableviews_structure'] = array(
+ 'description' => 'Table that contains logs of all system events.',
+ 'fields' => array(
+ 'dvid' => array(
+ 'type' => 'serial',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'description' => 'The primary identifier.',
+ ),
+ 'view_name' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => 'Makes the order unique for each view.',
+ ),
+ 'view_display' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => 'Makes the order unique for each view display.',
+ ),
+ 'args' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => FALSE,
+ 'default' => '',
+ 'description' => 'Makes the order unique for a given set of arguments',
+ ),
+ 'entity_id' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'description' => 'Id of the entity that we are sorting (node, user, etc.).',
+ ),
+ 'weight' => array(
+ 'type' => 'int',
+ 'unsigned' => FALSE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => 'The order weight.',
+ ),
+ 'parent' => array(
+ 'type' => 'int',
+ 'unsigned' => FALSE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => 'The id of the parent.',
+ ),
+ ),
+ 'indexes' => array(
+ 'view' => array('view_name', 'view_display', 'args', 'entity_id'),
+ 'weight' => array('weight'),
+ 'entity_id' => array('entity_id'),
+ ),
+ 'primary key' => array('dvid'),
+ );
+
+ return $schema;
+}