Add fields to entity in module update
Using the API to add a column is the right thing to do, but it can't/won't update the code in your hook_schema() definition for you.

Drupal relies on that definition to map values to columns, so if you haven't explicitly declared the 'test' column, entity API doesn't know it exists, and so discards the value.

To solve, you should declare the new column in hook_schema():

$schema['my_subscription'] = array(
  'description' =&gt; t('The base table for subscriptions'),
  'fields' =&gt; array(
    'sid' =&gt; array(
      'description' =&gt; t('Primary key identifier for an subscription log.'),
      'type' =&gt; 'serial',
      'unsigned' =&gt; TRUE,
      'not null' =&gt; TRUE,
    ),
    'email' =&gt; array(
      'description' =&gt; t('Email of a users subscription.'),
      'type' =&gt; 'varchar',
      'length' =&gt; '250',
      'not null' =&gt; TRUE,
    ),
    'name' =&gt; array(
      'description' =&gt; t('Full name of a user subscribing.'),
      'type' =&gt; 'varchar',
      'length' =&gt; '250',
      'not null' =&gt; FALSE,
    ),
    'test' =&gt; array(
      'description' =&gt; t('Test field.'),
      'type' =&gt; 'varchar',
      'length' =&gt; 255,
    ),
  ),
  'primary key' =&gt; array('sid'),
);


After you clear caches things should start working.