Why can't my module install a database table? I'm following the instructions on a module development training video. I try to install a table using the mysite/update.php page and everything goes well but no table is installed in the database. I'm lost for what might be wrong. Here's my code on a my_module1.install file:

/*
Implements hook_schema
*/
function my_module1_schema(){
    $schema = array();

    $schema['my_module1_node_views'] = array(
        'fields' =&gt; array(
            'nid' =&gt; array(
                'type' =&gt; 'int',
                'unsigned' =&gt; TRUE,
                'not null' =&gt; TRUE,
                'default' =&gt; 0,
            ),
            'uid' =&gt; array(
                'type' =&gt; 'int',
                'unsigned' =&gt; TRUE,
                'not null' =&gt; TRUE,
                'default' =&gt; 0,
            ),
            'view_count' =&gt; array(
                'type' =&gt; 'int',
                'unsigned' =&gt; TRUE,
                'not null' =&gt; TRUE,
                'default' =&gt; 0,
            ),
        ),
        'primary key' =&gt; array('nid', 'uid'),
    );
    return $schema;
}


/*
Implements hook_update_N
*/
function my_module1_update_7000(){
    drupal_install_schema('my_module1_node_views');
}
The argument to drupal_install_schema() is the module name, not the table to install.

Generally speaking (and assuming you might have more than one table eventually), if you want to create all tables that are defined in hook_schema(), use:

drupal_install_schema('my_module1');


If you just want to create that one table:

$table = drupal_get_schema_unprocessed('my_module1', 'my_module1_node_views');
db_create_table('my_module1_node_views', $table);