<?php

// mysql table definition as php arrays:


// --- table::users
$table[] = array(
  'name' => $rcmail_config['db_table_users'],
  'create_table' => sprintf("
       CREATE TABLE `%s` (
         `user_id` int(10) unsigned NOT NULL auto_increment,
         `username` varchar(128) NOT NULL default '',
         `mail_host` varchar(128) NOT NULL default '',
         `alias` varchar(128) NOT NULL default '',
         `created` datetime NOT NULL default '0000-00-00 00:00:00',
         `last_login` datetime NOT NULL default '0000-00-00 00:00:00',
         `language` varchar(5) NOT NULL default 'en',
         `preferences` text NOT NULL default '',
         PRIMARY KEY  (`user_id`)
       ) TYPE=MyISAM
       ", 
       $rcmail_config['db_table_users']
       ),
  'fields' => array(
      'user_id'   => array(
          'Field' => 'user_id',
          'Type'    => 'int(10)',
          'Null'    => '',
          'Key'     => 'PRI',
          'Default' => '',
          'Extra'   => 'auto_increment',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `user_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `user_id` `user_id` INT( 10 ) NOT NULL AUTO_INCREMENT",
              $rcmail_config['db_table_users']
              ),
      ),
      'username'   => array(
          'Field' => 'username',
          'Type'    => 'varchar(128)',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `username` VARCHAR( 128 ) NOT NULL AFTER `user_id`",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `username` `username` VARCHAR( 128 ) NOT NULL",
              $rcmail_config['db_table_users']
              ),
      ),
      'mail_host'   => array(
          'Field' => 'mail_host',
          'Type'    => 'varchar(128)',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `mail_host` VARCHAR( 128 ) NOT NULL AFTER `username`",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `mail_host` `mail_host` VARCHAR( 128 ) NOT NULL",
              $rcmail_config['db_table_users']
              ),
      ),
      'alias'   => array(
          'Field' => 'alias',
          'Type'    => 'varchar(128)',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `alias` VARCHAR( 128 ) NOT NULL AFTER `mail_host`",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `alias` `alias` VARCHAR( 128 ) NOT NULL",
              $rcmail_config['db_table_users']
              ),
      ),
      'created'   => array(
          'Field' => 'created',
          'Type'    => 'datetime',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `alias`",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `created` `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'",
              $rcmail_config['db_table_users']
              ),
      ),
      'last_login'   => array(
          'Field' => 'last_login',
          'Type'    => 'datetime',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `last_login` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `created`",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `last_login` `last_login` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'",
              $rcmail_config['db_table_users']
              ),
      ),
      'language'   => array(
          'Field' => 'language',
          'Type'    => 'varchar(5)',
          'Null'    => '',
          'Key'     => '',
          'Default' => 'en',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `language` VARCHAR( 5 ) NOT NULL  DEFAULT 'en' AFTER `last_login`",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `language` `language` VARCHAR( 5 ) NOT NULL DEFAULT 'en'",
              $rcmail_config['db_table_users']
              ),
      ),
      'preferences'   => array(
          'Field' => 'preferences',
          'Type'    => 'text',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `preferences` TEXT NOT NULL AFTER `language`",
              $rcmail_config['db_table_users']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `preferences` `preferences` TEXT NOT NULL",
              $rcmail_config['db_table_users']
              ),
      ),



  )
);
  
// --- table::cache
$table[] = array(   
  'name' => $rcmail_config['db_table_cache'],
  'create_table' => sprintf("
       CREATE TABLE `%s` (
         `cache_id` int(10) unsigned NOT NULL auto_increment,
         `user_id` int(10) unsigned NOT NULL default '0',
         `session_id` varchar(40) default NULL,
         `cache_key` varchar(128) NOT NULL default '',
         `created` datetime NOT NULL default '0000-00-00 00:00:00',
         `data` longtext NOT NULL,
         PRIMARY KEY  (`cache_id`),
         KEY `user_id` (`user_id`),
         KEY `cache_key` (`cache_key`),
         KEY `session_id` (`session_id`)
       ) Type=MyISAM
       ", 
       $rcmail_config['db_table_cache']
       ),
  'fields' => array(
      'cache_id'   => array(
          'Field' => 'cache_id',
          'Type'    => 'int(10) unsigned',
          'Null'    => '',
          'Key'     => 'PRI',
          'Default' => '',
          'Extra'   => 'auto_increment',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `cache_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST",
              $rcmail_config['db_table_cache']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `cache_id` `cache_id` INT( 10 ) NOT NULL AUTO_INCREMENT",
              $rcmail_config['db_table_cache']
              ),
      ),
      'user_id'   => array(
          'Field' => 'user_id',
          'Type'    => 'int(10) unsigned',
          'Null'    => '',
          'Key'     => 'MUL',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `user_id` INT( 10 ) UNSIGNED NOT NULL AFTER `cache_id`",
              $rcmail_config['db_table_cache']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `user_id` `cache_id` INT( 10 ) UNSIGNED NOT NULL",
              $rcmail_config['db_table_cache']
              ),
          'index' => sprintf(
              "ALTER TABLE `%s` ADD INDEX `user_id` ( `user_id` )",
              $rcmail_config['db_table_cache']
              )
      ),
      'session_id'   => array(
          'Field' => 'session_id',
          'Type'    => 'varchar(40)',
          'Null'    => 'YES',
          'Key'     => 'MUL',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `session_id` VARCHAR( 40 ) NULL AFTER `user_id`",
              $rcmail_config['db_table_cache']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `session_id` `session_id` VARCHAR( 40 ) NULL",
              $rcmail_config['db_table_cache']
              ),
          'index' => sprintf(
              "ALTER TABLE `%s` ADD INDEX `session_id` ( `session_id` )",
              $rcmail_config['db_table_cache']
              )
      ),
      'cache_key'   => array(
          'Field' => 'cache_key',
          'Type'    => 'varchar(128)',
          'Null'    => '',
          'Key'     => 'MUL',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `cache_key` VARCHAR( 128 ) NOT NULL AFTER `session_id`",
              $rcmail_config['db_table_cache']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `cache_key` `cache_key` VARCHAR( 128 ) NOT NULL",
              $rcmail_config['db_table_cache']
              ),
          'index' => sprintf(
              "ALTER TABLE `%s` ADD INDEX `cache_key` ( `cache_key` )",
              $rcmail_config['db_table_cache']
              )
      ),
      'created'   => array(
          'Field' => 'created',
          'Type'    => 'datetime',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `cache_key`",
              $rcmail_config['db_table_cache']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `created` `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'",
              $rcmail_config['db_table_cache']
              ),
      ),
      'data'   => array(
          'Field' => 'data',
          'Type'    => 'longtext',
          'Null'    => '',
          'Key'     => '',
          'Default' => '',
          'Extra'   => '',
          'add_syntax' => sprintf(
              "ALTER TABLE `%s` ADD `data` LONGTEXT NOT NULL AFTER `created`",
              $rcmail_config['db_table_cache']
              ),
          'alter_syntax' => sprintf(
              "ALTER TABLE `%s` CHANGE `data` `data` LONGTEXT NOT NULL",
              $rcmail_config['db_table_cache']
              ),
      ),



   )
    

);




?>
