fields('et') ->execute() ->fetchAllAssoc('name'); foreach ($types as $name => $type) { field_attach_delete_bundle('entity_test', $name); } } /** * Implements hook_schema(). */ function entity_test_schema() { $schema['entity_test'] = array( 'description' => 'Stores entity_test items.', 'fields' => array( 'pid' => array( 'type' => 'serial', 'not null' => TRUE, 'description' => 'Primary Key: Unique entity_test item ID.', ), 'name' => array( 'description' => 'The name of the entity_test.', 'type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '', ), 'uid' => array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => NULL, 'description' => "The {users}.uid of the associated user.", ), ), 'indexes' => array( 'uid' => array('uid'), ), 'foreign keys' => array( 'uid' => array( 'table' => 'users', 'columns' => array('uid' => 'uid') ), 'name' => array( 'table' => 'entity_test_types', 'columns' => array('name' => 'name') ), ), 'primary key' => array('pid'), ); $schema['entity_test_type'] = array( 'description' => 'Stores information about all defined entity_test types.', 'fields' => array( 'id' => array( 'type' => 'serial', 'not null' => TRUE, 'description' => 'Primary Key: Unique entity_test type ID.', ), 'name' => array( 'description' => 'The machine-readable name of this entity_test type.', 'type' => 'varchar', 'length' => 32, 'not null' => TRUE, ), 'label' => array( 'description' => 'The human-readable name of this entity_test type.', 'type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '', ), 'weight' => array( 'type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny', 'description' => 'The weight of this entity_test type in relation to others.', ), 'locked' => array( 'description' => 'A boolean indicating whether the administrator may delete this type.', 'type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny', ), 'data' => array( 'type' => 'text', 'not null' => FALSE, 'size' => 'big', 'serialize' => TRUE, 'description' => 'A serialized array of additional data related to this entity_test type.', 'merge' => TRUE, ), 'status' => array( 'type' => 'int', 'not null' => TRUE, // Set the default to ENTITY_CUSTOM without using the constant as it is // not safe to use it at this point. 'default' => 0x01, 'size' => 'tiny', 'description' => 'The exportable status of the entity.', ), 'module' => array( 'description' => 'The name of the providing module if the entity has been defined in code.', 'type' => 'varchar', 'length' => 255, 'not null' => FALSE, ), ), 'primary key' => array('id'), 'unique keys' => array( 'name' => array('name'), ), ); // Add schema for the revision-test-entity. $schema['entity_test2'] = $schema['entity_test']; $schema['entity_test2']['fields']['revision_id'] = array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => NULL, 'description' => 'The ID of the entity\'s default revision.', ); $schema['entity_test2']['fields']['title'] = array( 'type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '', ); $schema['entity_test2_revision'] = $schema['entity_test']; $schema['entity_test2_revision']['fields']['revision_id'] = array( 'type' => 'serial', 'not null' => TRUE, 'description' => 'Primary Key: Unique revision ID.', ); $schema['entity_test2_revision']['fields']['pid'] = array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => FALSE, 'default' => NULL, 'description' => 'The ID of the attached entity.', ); $schema['entity_test2_revision']['fields']['title'] = array( 'type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '', ); $schema['entity_test2_revision']['primary key'] = array('revision_id'); return $schema; }