hook_field_schema() does not work I'm creating a module to introduce a new field type. I downloaded the example module by drupal and i start programming.
But when I install the module the .install don't add colums to the dbtable related to new field.

 function field_instagram_field_schema($field) {

   watchdog('start field_instagram_field_schema()', 'We are in!');

   switch ($field['type']) {
    case 'instagram_gallery':
      $columns = array(
        'stream_type' =&gt; array(
          'type' =&gt; 'varchar',
          'length' =&gt; '25',
          'not null' =&gt; FALSE
        ),
        'input_tag' =&gt; array(
          'type' =&gt; 'varchar',
          'length' =&gt; '25',
          'not null' =&gt; FALSE
        ),
         'thumb_dimetion' =&gt; array(
          'type' =&gt; 'varchar',
          'length' =&gt; '25',
          'not null' =&gt; FALSE
        ),
        'thumb_number' =&gt; array(
          'type' =&gt; 'varchar',
          'length' =&gt; '25',
          'not null' =&gt; FALSE
        )
      );
      break;
  }

  return array('columns' =&gt; $columns);
}


UPDATED
When i install the module and create a field of this new type this function is not runned..
Your code is correct, but nothing will happen when you install the module itself. It will only be invoked when you create a new field of type instagram_gallery. 

But that is not all. The only module that will get's it hook_field_schema invoked, is the module that actually defined the field. This is done with hook_field_info, so you need to have the following code in your field_instagram.module file:

/**
 * Implements hook_field_info().
 */
function field_instagram_field_info() {
  return array(
    'instagram_gallery' =&gt; array(
      ...
    ),
  );
}


Since you are defining your own field, you also need to use


hook_field_is_empty
hook_field_formatter_info
hook_field_formatter_view
hook_field_widget_info (unless you can use an existing widget)


Update
It's hard to say way you have troubles. What the field module does is this:

module_load_install($field['module']);
$schema = (array) module_invoke($field['module'], 'field_schema', $field);


You can try to load the created field manually and run the hook to see if it works. You need to load the .install file like shown above. My guess is that you have something misnamed somewhere, but it's hard to say where exactly. The above could should with your info look like this:

$field = field_info_field('field_name_here');
module_load_install('field_instagram');
$schema = (array) module_invoke('field_instagram', 'field_schema', $field);


If the above works, you can try to debug the actual field creation, the code is from field.crud.inc line 134.