A table is only being created when a new feed node is being created. This breaks when say, a feed node is created when feedapi_node is configured as processor, then feedapi_node is disabled and feedapi_data is enabled for this feed content type.

Most likely, feedapi_data will also break when no node has been created and the mapping on admin/content/types is being edited.

feedapi_data needs to create tables in all appropriate places.

/**
* Implementation of hook_nodeapi().
*
* @todo: move this to content type creation.
*/
function feedapi_data_nodeapi(&$node, $op, $teaser) {
switch ($op) {
case 'insert':
// When creating a feed, we use Data module to create storage space for this feed.
// We don't delete this storage space until we delete the node.
if (isset($node->feed) && @in_array('feedapi_data', $node->feed->processors)) {

// Initialize a data table, link it to the node table and store a relationship between
// this table and the content type.
// @todo: we blindly assume here that if a table of this name already exist, it
// has been created by another node of this content type.
$name = data_name(data_safe_name($node->type));
if (!$table = data_get_table($name)) {
$table = data_create_table($name, _feedapi_data_base_schema(), $node->type);
$table->link('node', 'nid', 'feed_nid');
_feedapi_data_save($node->type, $table->get('name'));
}
}
break;
}
}