danielebarchiesi@0: fields(array('weight' => 1)) danielebarchiesi@0: ->condition('name', 'field_test') danielebarchiesi@0: ->execute(); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_schema(). danielebarchiesi@0: */ danielebarchiesi@0: function field_test_schema() { danielebarchiesi@0: $schema['test_entity'] = array( danielebarchiesi@0: 'description' => 'The base table for test_entities.', danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'ftid' => array( danielebarchiesi@0: 'description' => 'The primary identifier for a test_entity.', danielebarchiesi@0: 'type' => 'serial', danielebarchiesi@0: 'unsigned' => TRUE, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: ), danielebarchiesi@0: 'ftvid' => array( danielebarchiesi@0: 'description' => 'The current {test_entity_revision}.ftvid version identifier.', danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'unsigned' => TRUE, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => 0, danielebarchiesi@0: ), danielebarchiesi@0: 'fttype' => array( danielebarchiesi@0: 'description' => 'The type of this test_entity.', danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => 32, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => '', danielebarchiesi@0: ), danielebarchiesi@0: 'ftlabel' => array( danielebarchiesi@0: 'description' => 'The label of this test_entity.', danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => 255, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => '', danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'unique keys' => array( danielebarchiesi@0: 'ftvid' => array('ftvid'), danielebarchiesi@0: ), danielebarchiesi@0: 'primary key' => array('ftid'), danielebarchiesi@0: ); danielebarchiesi@0: $schema['test_entity_bundle_key'] = array( danielebarchiesi@0: 'description' => 'The base table for test entities with a bundle key.', danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'ftid' => array( danielebarchiesi@0: 'description' => 'The primary indentifier for a test_entity_bundle_key.', danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'unsigned' => TRUE, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => 0, danielebarchiesi@0: ), danielebarchiesi@0: 'fttype' => array( danielebarchiesi@0: 'description' => 'The type of this test_entity.', danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => 32, danielebarchiesi@0: 'not null' => FALSE, danielebarchiesi@0: 'default' => '', danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: ); danielebarchiesi@0: $schema['test_entity_bundle'] = array( danielebarchiesi@0: 'description' => 'The base table for test entities with a bundle.', danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'ftid' => array( danielebarchiesi@0: 'description' => 'The primary indentifier for a test_entity_bundle.', danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'unsigned' => TRUE, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => 0, danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: ); danielebarchiesi@0: $schema['test_entity_revision'] = array( danielebarchiesi@0: 'description' => 'Stores information about each saved version of a {test_entity}.', danielebarchiesi@0: 'fields' => array( danielebarchiesi@0: 'ftid' => array( danielebarchiesi@0: 'description' => 'The {test_entity} this version belongs to.', danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'unsigned' => TRUE, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: 'default' => 0, danielebarchiesi@0: ), danielebarchiesi@0: 'ftvid' => array( danielebarchiesi@0: 'description' => 'The primary identifier for this version.', danielebarchiesi@0: 'type' => 'serial', danielebarchiesi@0: 'unsigned' => TRUE, danielebarchiesi@0: 'not null' => TRUE, danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'indexes' => array( danielebarchiesi@0: 'nid' => array('ftid'), danielebarchiesi@0: ), danielebarchiesi@0: 'primary key' => array('ftvid'), danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: return $schema; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_field_schema(). danielebarchiesi@0: */ danielebarchiesi@0: function field_test_field_schema($field) { danielebarchiesi@0: if ($field['type'] == 'test_field') { danielebarchiesi@0: return array( danielebarchiesi@0: 'columns' => array( danielebarchiesi@0: 'value' => array( danielebarchiesi@0: 'type' => 'int', danielebarchiesi@0: 'size' => 'medium', danielebarchiesi@0: 'not null' => FALSE, danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: 'indexes' => array( danielebarchiesi@0: 'value' => array('value'), danielebarchiesi@0: ), danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: else { danielebarchiesi@0: $foreign_keys = array(); danielebarchiesi@0: // The 'foreign keys' key is not always used in tests. danielebarchiesi@0: if (!empty($field['settings']['foreign_key_name'])) { danielebarchiesi@0: $foreign_keys['foreign keys'] = array( danielebarchiesi@0: // This is a dummy foreign key definition, references a table that danielebarchiesi@0: // doesn't exist, but that's not a problem. danielebarchiesi@0: $field['settings']['foreign_key_name'] => array( danielebarchiesi@0: 'table' => $field['settings']['foreign_key_name'], danielebarchiesi@0: 'columns' => array($field['settings']['foreign_key_name'] => 'id'), danielebarchiesi@0: ), danielebarchiesi@0: ); danielebarchiesi@0: } danielebarchiesi@0: return array( danielebarchiesi@0: 'columns' => array( danielebarchiesi@0: 'shape' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => 32, danielebarchiesi@0: 'not null' => FALSE, danielebarchiesi@0: ), danielebarchiesi@0: 'color' => array( danielebarchiesi@0: 'type' => 'varchar', danielebarchiesi@0: 'length' => 32, danielebarchiesi@0: 'not null' => FALSE, danielebarchiesi@0: ), danielebarchiesi@0: ), danielebarchiesi@0: ) + $foreign_keys; danielebarchiesi@0: } danielebarchiesi@0: }