Schema not getting installed I'm working the SchemaAPI but can't get it to create the tables. This is the content of my schema_test.install which is mostly copied form the examples modules. 

&lt;?php
function schema_test_install() {
  drupal_install_schema('schema_test');
}
function schema_test_schema() {
  $schema['schema_test_one'] = array(
    'description' =&gt; 'Stores example person entries for demonstration purposes.',
    'fields' =&gt; array(
      'pid'  =&gt; array(
        'type' =&gt; 'serial',
        'not null' =&gt; TRUE,
        'description' =&gt; 'Primary Key: Unique person ID.',
      ),
      'uid' =&gt; array(
        'type' =&gt; 'int',
        'not null' =&gt; TRUE,
        'default' =&gt; 0,
        'description' =&gt; "Creator user's {users}.uid",
      ),
      'name' =&gt; array(
        'type' =&gt; 'varchar',
        'length' =&gt; 255,
        'not null' =&gt; TRUE,
        'default' =&gt; '',
        'description' =&gt; 'Name of the person.',
      ),
      'surname' =&gt; array(
        'type' =&gt; 'varchar',
        'length' =&gt; 255,
        'not null' =&gt; TRUE,
        'default' =&gt; '',
        'description' =&gt; 'Surname of the person.',
      ),
      'age' =&gt; array(
        'type' =&gt; 'int',
        'not null' =&gt; TRUE,
        'default' =&gt; 0,
        'size' =&gt; 'tiny',
        'description' =&gt; 'The age of the person in years.',
      )
    ),
    'primary key' =&gt; array('pid'),
    'indexes' =&gt; array(
      'name'    =&gt; array('name'),
      'surname' =&gt; array('surname'),
      'age'     =&gt; array('age'),
    ),
  );
  return $schema;
}
/* vim: set ts=8 sw=2 tw=79 cc=80 ft=php:*/


I also have the Schema Module enabled and it lists this schema under "Missing". So it's recognized but never installed when the module is being enabled. What am I missing here?
I got caught out in Drupal 7 by the fact that you don't need to call drupal_install_schema.  Also, hook_install should now be used to perform actions on your tables, rather than set them up.

Drupal 7 sees your schema and installs it automatically when your module is activated, so because you're calling it manually, it's trying to install the schema twice.

This might help explain it a bit.

Also, try checking in your database to see if the tables already exist.  If it's installed incorrectly, Drupal might be seeing the tables and thinking they're correct when actually they're not.