Environment:
Drupal 6.3 MySQL 5.0.51b PHP 5.2.6 schema-6.x-1.3
I'm trying to use the schema API, but can't get it to create my table in the database. The module I'm developing is called "regatta". This is a new module from scratch, not an upgrade. I've created a regatta.install file (included below).
When I go to /admin/build/schema, it says that the boat table in the regatta module is missing. There are 46 Match (all the normal core tables), zero Mismatch, and zero Extra. Under /admin/build/schema/ describe, it lists "boat (regatta module)", and describes it correctly.
I've gone through several cycles of enabling and disabling regatta, and ran update.php. Any ideas what I'm doing wrong?
<?php // -*- mode: php; -*-
function regatta_schema() { $schema['boat'] = array( 'description' => t('A boat'), 'fields' => array( 'id' => array( 'description' => t('The primary identifier for a boat.'), 'type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE ), 'sail_number' => array( 'description' => t('Sail number, optionally including country id'), 'type' => 'varchar', 'not null' => TRUE, 'length' => 10, 'default' => '' ), 'boat_name' => array( 'description' => t('Boat name'), 'type' => 'varchar', 'not null' => TRUE, 'length' => 24, 'default' => '' ), 'skipper_name' => array( 'description' => t('Skipper name'), 'type' => 'varchar', 'not null' => TRUE, 'length' => 24, 'default' => '' ), ), 'primary key' => array('id'), ); return $schema; }
function regatta_install() { drupal_install_schema('regatta'); }
function regatta_uninstall() { drupal_uninstall_schema('regatta'); }
---------------- Roy Smith roy@panix.com