How to upgrade module table scheme for entity I've written a module that uses entities functionality. It has the following table scheme in .install file:

$schema['transaction'] = array(
    //fields
    'fields' =&gt; array(
        'id' =&gt; array(
            'type' =&gt; 'serial',
            'unsigned' =&gt; TRUE,
            'not null' =&gt; TRUE),
        'name' =&gt; array(
            'type' =&gt; 'varchar',
            'length' =&gt; 50,
            'not null' =&gt; TRUE,
            ),
        'random_id' =&gt; array(
            'type' =&gt; 'varchar',
            'length' =&gt; 11,
            'not null' =&gt; TRUE,
            ),
        ),
    //additional properties
    'primary key' =&gt; array('id'),
    'unique keys' =&gt; array(
        'random_id' =&gt; array('random_id'),
        ),
    );


Entity description:

function transaction_entity_info() {
  //song entity
  $entity_info['transaction'] = array(
    'label' =&gt; t('Transaction'),
    'label callback' =&gt; 'transaction_label_callback',
    'base table' =&gt; 'transaction',
    'fieldable' =&gt; TRUE,
    'entity keys' =&gt; array(
      'id' =&gt; 'id',
    ),
    'uri callback' =&gt; 'transaction_class_uri',
    'static cache' =&gt; TRUE,
    'admin ui' =&gt; array(
      'path' =&gt; 'admin/content/transaction',
      'controller class' =&gt; 'transactionUIController',
      'file' =&gt; 'includes/transaction.admin.inc',
    ),
    'module' =&gt; 'transaction',
    'access callback' =&gt; 'transaction_access_callback',
    'bundles' =&gt; array(
      'transaction' =&gt; array(
        'label' =&gt; 'Transaction',
        'admin' =&gt; array(
          'path' =&gt; 'admin/structure/transaction/manage',
          'access arguments' =&gt; array('administer transaction'),
        ),
      ),
    ),
    'entity class' =&gt; 'Transaction',
    'controller class' =&gt; 'transactionController',
    'views controller class' =&gt; 'EntityDefaultViewsController',
  );

  return $entity_info;
}


Now I need to add a new property into the table:

    'output' =&gt; array(
        'type' =&gt; 'int',
        'unsigned' =&gt; TRUE,
        'not null' =&gt; TRUE,
        'default' =&gt; 0),


I can use fields, and add it through the admin panel, but I want to learn, how to upgrade the tables directly.

How can tell Drupal to reload the table scheme for this module, add attribute into the table and use it when loading the entity?
@Clive is correct (in the comments). You'll just want to add the new definition to the schema hook and then create an update script in the .install file (hook_update_N) to add in that definition for sites/installations that have already created your new entity.