]> git.mxchange.org Git - friendica.git/commitdiff
Create `database.sql` from `include\dbstructure.php`
authorfabrixxm <fabrix.xm@gmail.com>
Wed, 25 Mar 2015 08:47:59 +0000 (09:47 +0100)
committerfabrixxm <fabrix.xm@gmail.com>
Wed, 25 Mar 2015 08:47:59 +0000 (09:47 +0100)
add two commands to `dbstructure.php` when called from cli:
'update' updates the database schema
'dumpsql' dump database sql to stdout

database.sql
include/dbstructure.php

index cbf8933f3d24d4f9fa82014860b8bbd12e3bf5c0..b7a250bcb19c9872b546c0f479bd190acd059032 100644 (file)
--- phpMyAdmin SQL Dump
--- version 3.3.10.4
--- http://www.phpmyadmin.net
---
-
-SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+-- ------------------------------------------
+-- Friendica 3.4.0 (Ginger)
+-- DB_UPDATE_VERSION 1182
+-- ------------------------------------------
 
--- --------------------------------------------------------
 
 --
--- Table structure for table `addon`
+-- TABLE addon
 --
-
 CREATE TABLE IF NOT EXISTS `addon` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `name` char(255) NOT NULL,
-  `version` char(255) NOT NULL,
-  `installed` tinyint(1) NOT NULL DEFAULT '0',
-  `hidden` tinyint(1) NOT NULL DEFAULT '0',
-  `timestamp` bigint(20) NOT NULL DEFAULT '0',
-  `plugin_admin` tinyint(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`id`),
-  KEY `hidden` (`hidden`)  
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `version` varchar(255) NOT NULL DEFAULT '',
+       `installed` tinyint(1) NOT NULL DEFAULT '0',
+       `hidden` tinyint(1) NOT NULL DEFAULT '0',
+       `timestamp` bigint(20) NOT NULL DEFAULT '0',
+       `plugin_admin` tinyint(1) NOT NULL DEFAULT '0'  
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `attach`
+-- TABLE attach
 --
-
 CREATE TABLE IF NOT EXISTS `attach` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `hash` char(64) NOT NULL,
-  `filename` char(255) NOT NULL,
-  `filetype` char(64) NOT NULL,
-  `filesize` int(11) NOT NULL,
-  `data` longblob NOT NULL,
-  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `allow_cid` mediumtext NOT NULL,
-  `allow_gid` mediumtext NOT NULL,
-  `deny_cid` mediumtext NOT NULL,
-  `deny_gid` mediumtext NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `hash` varchar(64) NOT NULL DEFAULT '',
+       `filename` varchar(255) NOT NULL DEFAULT '',
+       `filetype` varchar(64) NOT NULL DEFAULT '',
+       `filesize` int(11) NOT NULL DEFAULT '0',
+       `data` longblob NOT NULL,
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `allow_cid` mediumtext NOT NULL,
+       `allow_gid` mediumtext NOT NULL,
+       `deny_cid` mediumtext NOT NULL,
+       `deny_gid` mediumtext NOT NULL  
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `auth_codes`
+-- TABLE auth_codes
 --
-
 CREATE TABLE IF NOT EXISTS `auth_codes` (
-  `id` varchar(40) NOT NULL,
-  `client_id` varchar(20) NOT NULL,
-  `redirect_uri` varchar(200) NOT NULL,
-  `expires` int(11) NOT NULL,
-  `scope` varchar(250) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` varchar(40) NOT NULL PRIMARY KEY,
+       `client_id` varchar(20) NOT NULL DEFAULT '',
+       `redirect_uri` varchar(200) NOT NULL DEFAULT '',
+       `expires` int(11) NOT NULL DEFAULT '0',
+       `scope` varchar(250) NOT NULL DEFAULT ''        
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `cache`
+-- TABLE cache
 --
-
 CREATE TABLE IF NOT EXISTS `cache` (
-  `k` char(255) NOT NULL,
-  `v` text NOT NULL,
-  `updated` datetime NOT NULL,
-  PRIMARY KEY (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `k` varchar(255) NOT NULL PRIMARY KEY,
+       `v` text NOT NULL,
+       `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'       
+        INDEX `updated` (`updated`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `challenge`
+-- TABLE challenge
 --
-
 CREATE TABLE IF NOT EXISTS `challenge` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `challenge` char(255) NOT NULL,
-  `dfrn-id` char(255) NOT NULL,
-  `expire` int(11) NOT NULL,
-  `type` char(255) NOT NULL,
-  `last_update` char(255) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `challenge` varchar(255) NOT NULL DEFAULT '',
+       `dfrn-id` varchar(255) NOT NULL DEFAULT '',
+       `expire` int(11) NOT NULL DEFAULT '0',
+       `type` varchar(255) NOT NULL DEFAULT '',
+       `last_update` varchar(255) NOT NULL DEFAULT ''  
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `clients`
+-- TABLE clients
 --
-
 CREATE TABLE IF NOT EXISTS `clients` (
-  `client_id` varchar(20) NOT NULL,
-  `pw` varchar(20) NOT NULL,
-  `redirect_uri` varchar(200) NOT NULL,
-  `name` text,
-  `icon` text,
-  `uid` int(11) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`client_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `client_id` varchar(20) NOT NULL PRIMARY KEY,
+       `pw` varchar(20) NOT NULL DEFAULT '',
+       `redirect_uri` varchar(200) NOT NULL DEFAULT '',
+       `name` text,
+       `icon` text,
+       `uid` int(11) NOT NULL DEFAULT '0'      
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `config`
+-- TABLE config
 --
-
 CREATE TABLE IF NOT EXISTS `config` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `cat` char(255) CHARACTER SET ascii NOT NULL,
-  `k` char(255) CHARACTER SET ascii NOT NULL,
-  `v` text NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `access` (`cat`,`k`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `cat` varchar(255) NOT NULL DEFAULT '',
+       `k` varchar(255) NOT NULL DEFAULT '',
+       `v` text NOT NULL       
+        INDEX `cat_k` (`cat`(30),`k`(30))
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `contact`
+-- TABLE contact
 --
-
 CREATE TABLE IF NOT EXISTS `contact` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL COMMENT 'owner uid',
-  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `self` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'boolean 1 == info for local UID, primarily name and photo to use in item displays.',
-  `remote_self` tinyint(1) NOT NULL DEFAULT '0',
-  `rel` tinyint(1) NOT NULL DEFAULT '0',
-  `duplex` tinyint(1) NOT NULL DEFAULT '0',
-  `network` char(255) NOT NULL,
-  `name` char(255) NOT NULL,
-  `nick` char(255) NOT NULL,
-  `attag` char(255) NOT NULL,
-  `photo` text NOT NULL COMMENT 'remote photo URL initially until approved',
-  `thumb` text NOT NULL,
-  `micro` text NOT NULL,
-  `site-pubkey` text NOT NULL,
-  `issued-id` char(255) NOT NULL,
-  `dfrn-id` char(255) NOT NULL,
-  `url` char(255) NOT NULL,
-  `nurl` char(255) NOT NULL,
-  `addr` char(255) NOT NULL,
-  `alias` char(255) NOT NULL,
-  `pubkey` text NOT NULL,
-  `prvkey` text NOT NULL,
-  `batch` char(255) NOT NULL,
-  `request` text NOT NULL,
-  `notify` text NOT NULL,
-  `poll` text NOT NULL,
-  `confirm` text NOT NULL,
-  `poco` text NOT NULL,
-  `aes_allow` tinyint(1) NOT NULL DEFAULT '0',
-  `ret-aes` tinyint(1) NOT NULL DEFAULT '0',
-  `usehub` tinyint(1) NOT NULL DEFAULT '0',
-  `subhub` tinyint(1) NOT NULL DEFAULT '0',
-  `hub-verify` char(255) NOT NULL,
-  `last-update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `success_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `name-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `uri-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `avatar-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `term-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `priority` tinyint(3) NOT NULL,
-  `blocked` tinyint(1) NOT NULL DEFAULT '1',
-  `readonly` tinyint(1) NOT NULL DEFAULT '0',
-  `writable` tinyint(1) NOT NULL DEFAULT '0',
-  `forum` tinyint(1) NOT NULL DEFAULT '0',
-  `prv` tinyint(1) NOT NULL DEFAULT '0',
-  `hidden` tinyint(1) NOT NULL DEFAULT '0',
-  `archive` tinyint(1) NOT NULL DEFAULT '0',
-  `pending` tinyint(1) NOT NULL DEFAULT '1',
-  `rating` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0-5 reputation, 0 unknown, 1 call police, 5 inscrutable',
-  `reason` text NOT NULL COMMENT 'why a rating was given - will help friends decide to make friends or not',
-  `closeness` tinyint(2) NOT NULL DEFAULT '99',
-  `info` mediumtext NOT NULL,
-  `profile-id` int(11) NOT NULL DEFAULT '0' COMMENT 'which profile to display - 0 is public default',
-  `bdyear` char(4) NOT NULL COMMENT 'birthday notify flag',
-  `bd` date NOT NULL,
-  `notify_new_posts` TINYINT(1) NOT NULL DEFAULT '0',
-  `fetch_further_information` TINYINT(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`id`),
-  KEY `uid` (`uid`),
-  KEY `self` (`self`),
-  KEY `issued-id` (`issued-id`),
-  KEY `dfrn-id` (`dfrn-id`),
-  KEY `blocked` (`blocked`),
-  KEY `readonly` (`readonly`),
-  KEY `network` (`network`),
-  KEY `name` (`name`),
-  KEY `nick` (`nick`),
-  KEY `attag` (`attag`),
-  KEY `addr` (`addr`),
-  KEY `url` (`url`),
-  KEY `batch` (`batch`),
-  KEY `nurl` (`nurl`),
-  KEY `pending` (`pending`),
-  KEY `hidden` (`hidden`),
-  KEY `archive` (`archive`),
-  KEY `forum` (`forum`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `conv`
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `self` tinyint(1) NOT NULL DEFAULT '0',
+       `remote_self` tinyint(1) NOT NULL DEFAULT '0',
+       `rel` tinyint(1) NOT NULL DEFAULT '0',
+       `duplex` tinyint(1) NOT NULL DEFAULT '0',
+       `network` varchar(255) NOT NULL DEFAULT '',
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `nick` varchar(255) NOT NULL DEFAULT '',
+       `location` varchar(255) NOT NULL DEFAULT '',
+       `about` text NOT NULL,
+       `keywords` text NOT NULL,
+       `gender` varchar(32) NOT NULL DEFAULT '',
+       `attag` varchar(255) NOT NULL DEFAULT '',
+       `photo` text NOT NULL,
+       `thumb` text NOT NULL,
+       `micro` text NOT NULL,
+       `site-pubkey` text NOT NULL,
+       `issued-id` varchar(255) NOT NULL DEFAULT '',
+       `dfrn-id` varchar(255) NOT NULL DEFAULT '',
+       `url` varchar(255) NOT NULL DEFAULT '',
+       `nurl` varchar(255) NOT NULL DEFAULT '',
+       `addr` varchar(255) NOT NULL DEFAULT '',
+       `alias` varchar(255) NOT NULL DEFAULT '',
+       `pubkey` text NOT NULL,
+       `prvkey` text NOT NULL,
+       `batch` varchar(255) NOT NULL DEFAULT '',
+       `request` text NOT NULL,
+       `notify` text NOT NULL,
+       `poll` text NOT NULL,
+       `confirm` text NOT NULL,
+       `poco` text NOT NULL,
+       `aes_allow` tinyint(1) NOT NULL DEFAULT '0',
+       `ret-aes` tinyint(1) NOT NULL DEFAULT '0',
+       `usehub` tinyint(1) NOT NULL DEFAULT '0',
+       `subhub` tinyint(1) NOT NULL DEFAULT '0',
+       `hub-verify` varchar(255) NOT NULL DEFAULT '',
+       `last-update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `success_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `name-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `uri-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `avatar-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `term-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `priority` tinyint(3) NOT NULL DEFAULT '0',
+       `blocked` tinyint(1) NOT NULL DEFAULT '1',
+       `readonly` tinyint(1) NOT NULL DEFAULT '0',
+       `writable` tinyint(1) NOT NULL DEFAULT '0',
+       `forum` tinyint(1) NOT NULL DEFAULT '0',
+       `prv` tinyint(1) NOT NULL DEFAULT '0',
+       `hidden` tinyint(1) NOT NULL DEFAULT '0',
+       `archive` tinyint(1) NOT NULL DEFAULT '0',
+       `pending` tinyint(1) NOT NULL DEFAULT '1',
+       `rating` tinyint(1) NOT NULL DEFAULT '0',
+       `reason` text NOT NULL,
+       `closeness` tinyint(2) NOT NULL DEFAULT '99',
+       `info` mediumtext NOT NULL,
+       `profile-id` int(11) NOT NULL DEFAULT '0',
+       `bdyear` varchar(4) NOT NULL DEFAULT '',
+       `bd` date NOT NULL DEFAULT '0000-00-00',
+       `notify_new_posts` tinyint(1) NOT NULL DEFAULT '0',
+       `fetch_further_information` tinyint(1) NOT NULL DEFAULT '0',
+       `ffi_keyword_blacklist` mediumtext NOT NULL     
+        INDEX `uid` (`uid`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE conv
 --
-
 CREATE TABLE IF NOT EXISTS `conv` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `guid` char(64) NOT NULL,
-  `recips` mediumtext NOT NULL,
-  `uid` int(11) NOT NULL,
-  `creator` char(255) NOT NULL,
-  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `subject` mediumtext NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `created` (`created`),
-  KEY `updated` (`updated`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `guid` varchar(64) NOT NULL DEFAULT '',
+       `recips` mediumtext NOT NULL,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `creator` varchar(255) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `subject` mediumtext NOT NULL   
+        INDEX `uid` (`uid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `deliverq`
+-- TABLE deliverq
 --
-
 CREATE TABLE IF NOT EXISTS `deliverq` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `cmd` char(32) NOT NULL,
-  `item` int(11) NOT NULL,
-  `contact` int(11) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `cmd` varchar(32) NOT NULL DEFAULT '',
+       `item` int(11) NOT NULL DEFAULT '0',
+       `contact` int(11) NOT NULL DEFAULT '0'  
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `dsprphotoq`
+-- TABLE dsprphotoq
 --
+CREATE TABLE IF NOT EXISTS `dsprphotoq` (
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `msg` mediumtext NOT NULL,
+       `attempt` tinyint(4) NOT NULL DEFAULT '0'       
 
-CREATE TABLE `dsprphotoq` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `msg` mediumtext NOT NULL,
-  `attempt` tinyint(4) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `event`
+-- TABLE event
 --
-
 CREATE TABLE IF NOT EXISTS `event` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `cid` int(11) NOT NULL,
-  `uri` char(255) NOT NULL,
-  `created` datetime NOT NULL,
-  `edited` datetime NOT NULL,
-  `start` datetime NOT NULL,
-  `finish` datetime NOT NULL,
-  `summary` text NOT NULL,
-  `desc` text NOT NULL,
-  `location` text NOT NULL,
-  `type` char(255) NOT NULL,
-  `nofinish` tinyint(1) NOT NULL DEFAULT '0',
-  `adjust` tinyint(1) NOT NULL DEFAULT '1',
-  `ignore` tinyint(1) NOT NULL DEFAULT '0',
-  `allow_cid` mediumtext NOT NULL,
-  `allow_gid` mediumtext NOT NULL,
-  `deny_cid` mediumtext NOT NULL,
-  `deny_gid` mediumtext NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `uid` ( `uid` ),
-  KEY `cid` ( `cid` ),
-  KEY `uri` ( `uri` ),
-  KEY `type` ( `type` ),
-  KEY `start` ( `start` ),
-  KEY `finish` ( `finish` ),
-  KEY `adjust` ( `adjust` ),
-  KEY `ignore` ( `ignore` )
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `fcontact`
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `cid` int(11) NOT NULL DEFAULT '0',
+       `uri` varchar(255) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `finish` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `summary` text NOT NULL,
+       `desc` text NOT NULL,
+       `location` text NOT NULL,
+       `type` varchar(255) NOT NULL DEFAULT '',
+       `nofinish` tinyint(1) NOT NULL DEFAULT '0',
+       `adjust` tinyint(1) NOT NULL DEFAULT '1',
+       `ignore` tinyint(1) unsigned NOT NULL DEFAULT '0',
+       `allow_cid` mediumtext NOT NULL,
+       `allow_gid` mediumtext NOT NULL,
+       `deny_cid` mediumtext NOT NULL,
+       `deny_gid` mediumtext NOT NULL  
+        INDEX `uid` (`uid`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE fcontact
 --
-
 CREATE TABLE IF NOT EXISTS `fcontact` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `url` char(255) NOT NULL,
-  `name` char(255) NOT NULL,
-  `photo` char(255) NOT NULL,
-  `request` char(255) NOT NULL,
-  `nick` char(255) NOT NULL,
-  `addr` char(255) NOT NULL,
-  `batch` char(255) NOT NULL,
-  `notify` char(255) NOT NULL,
-  `poll` char(255) NOT NULL,
-  `confirm` char(255) NOT NULL,
-  `priority` tinyint(1) NOT NULL,
-  `network` char(32) NOT NULL,
-  `alias` char(255) NOT NULL,
-  `pubkey` text NOT NULL,
-  `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  PRIMARY KEY (`id`),
-  KEY `addr` (`addr`),
-  KEY `network` (`network`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `ffinder`
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `url` varchar(255) NOT NULL DEFAULT '',
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `photo` varchar(255) NOT NULL DEFAULT '',
+       `request` varchar(255) NOT NULL DEFAULT '',
+       `nick` varchar(255) NOT NULL DEFAULT '',
+       `addr` varchar(255) NOT NULL DEFAULT '',
+       `batch` varchar(255) NOT NULL DEFAULT '',
+       `notify` varchar(255) NOT NULL DEFAULT '',
+       `poll` varchar(255) NOT NULL DEFAULT '',
+       `confirm` varchar(255) NOT NULL DEFAULT '',
+       `priority` tinyint(1) NOT NULL DEFAULT '0',
+       `network` varchar(32) NOT NULL DEFAULT '',
+       `alias` varchar(255) NOT NULL DEFAULT '',
+       `pubkey` text NOT NULL,
+       `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'       
+        INDEX `addr` (`addr`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE ffinder
 --
-
 CREATE TABLE IF NOT EXISTS `ffinder` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(10) unsigned NOT NULL,
-  `cid` int(10) unsigned NOT NULL,
-  `fid` int(10) unsigned NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `cid` int(10) unsigned NOT NULL DEFAULT '0',
+       `fid` int(10) unsigned NOT NULL DEFAULT '0'     
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `fserver`
+-- TABLE fserver
 --
-
 CREATE TABLE IF NOT EXISTS `fserver` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `server` char(255) NOT NULL,
-  `posturl` char(255) NOT NULL,
-  `key` text NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `server` (`server`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `server` varchar(255) NOT NULL DEFAULT '',
+       `posturl` varchar(255) NOT NULL DEFAULT '',
+       `key` text NOT NULL     
+        INDEX `server` (`server`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `fsuggest`
+-- TABLE fsuggest
 --
-
 CREATE TABLE IF NOT EXISTS `fsuggest` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `cid` int(11) NOT NULL,
-  `name` char(255) NOT NULL,
-  `url` char(255) NOT NULL,
-  `request` char(255) NOT NULL,
-  `photo` char(255) NOT NULL,
-  `note` text NOT NULL,
-  `created` datetime NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `cid` int(11) NOT NULL DEFAULT '0',
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `url` varchar(255) NOT NULL DEFAULT '',
+       `request` varchar(255) NOT NULL DEFAULT '',
+       `photo` varchar(255) NOT NULL DEFAULT '',
+       `note` text NOT NULL,
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'       
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `gcign`
+-- TABLE gcign
 --
-
 CREATE TABLE IF NOT EXISTS `gcign` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `gcid` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `uid` (`uid`),
-  KEY `gcid` (`gcid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `gcid` int(11) NOT NULL DEFAULT '0'     
+        INDEX `uid` (`uid`)
+        INDEX `gcid` (`gcid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `gcontact`
+-- TABLE gcontact
 --
-
 CREATE TABLE IF NOT EXISTS `gcontact` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `name` char(255) NOT NULL,
-  `url` char(255) NOT NULL,
-  `nurl` char(255) NOT NULL,
-  `photo` char(255) NOT NULL,
-  `connect` char(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `nurl` (`nurl`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `glink`
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `url` varchar(255) NOT NULL DEFAULT '',
+       `nurl` varchar(255) NOT NULL DEFAULT '',
+       `photo` varchar(255) NOT NULL DEFAULT '',
+       `connect` varchar(255) NOT NULL DEFAULT '',
+       `updated` datetime DEFAULT '0000-00-00 00:00:00',
+       `location` varchar(255) NOT NULL DEFAULT '',
+       `about` text NOT NULL,
+       `keywords` text NOT NULL,
+       `gender` varchar(32) NOT NULL DEFAULT '',
+       `network` varchar(255) NOT NULL DEFAULT '',
+       `generation` tinyint(3) NOT NULL DEFAULT '0'    
+        INDEX `nurl` (`nurl`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE glink
 --
-
 CREATE TABLE IF NOT EXISTS `glink` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `cid` int(11) NOT NULL,
-  `uid` int(11) NOT NULL,
-  `gcid` int(11) NOT NULL,
-  `zcid` int(11) NOT NULL,
-  `updated` datetime NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `cid` (`cid`),
-  KEY `uid` (`uid`),
-  KEY `gcid` (`gcid`),
-  KEY `zcid` (`zcid`),
-  KEY `updated` (`updated`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `cid` int(11) NOT NULL DEFAULT '0',
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `gcid` int(11) NOT NULL DEFAULT '0',
+       `zcid` int(11) NOT NULL DEFAULT '0',
+       `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'       
+        INDEX `cid_uid_gcid_zcid` (`cid`,`uid`,`gcid`,`zcid`)
+        INDEX `gcid` (`gcid`)
+        INDEX `zcid` (`zcid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `group`
+-- TABLE group
 --
-
 CREATE TABLE IF NOT EXISTS `group` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(10) unsigned NOT NULL,
-  `visible` tinyint(1) NOT NULL DEFAULT '0',
-  `deleted` tinyint(1) NOT NULL DEFAULT '0',
-  `name` char(255) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `visible` tinyint(1) NOT NULL DEFAULT '0',
+       `deleted` tinyint(1) NOT NULL DEFAULT '0',
+       `name` varchar(255) NOT NULL DEFAULT '' 
+        INDEX `uid` (`uid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `group_member`
+-- TABLE group_member
 --
-
 CREATE TABLE IF NOT EXISTS `group_member` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(10) unsigned NOT NULL,
-  `gid` int(10) unsigned NOT NULL,
-  `contact-id` int(10) unsigned NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `gid` int(10) unsigned NOT NULL DEFAULT '0',
+       `contact-id` int(10) unsigned NOT NULL DEFAULT '0'      
+        INDEX `uid_gid_contactid` (`uid`,`gid`,`contact-id`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `guid`
+-- TABLE guid
 --
-
 CREATE TABLE IF NOT EXISTS `guid` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `guid` char(64) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `guid` (`guid`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `guid` varchar(255) NOT NULL DEFAULT '' 
+        INDEX `guid` (`guid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `hook`
+-- TABLE hook
 --
-
 CREATE TABLE IF NOT EXISTS `hook` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `hook` char(255) NOT NULL,
-  `file` char(255) NOT NULL,
-  `function` char(255) NOT NULL,
-  `priority` int(11) UNSIGNED NOT NULL DEFAULT '0',
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `hook` varchar(255) NOT NULL DEFAULT '',
+       `file` varchar(255) NOT NULL DEFAULT '',
+       `function` varchar(255) NOT NULL DEFAULT '',
+       `priority` int(11) unsigned NOT NULL DEFAULT '0'        
+        INDEX `hook_file_function` (`hook`(30),`file`(60),`function`(30))
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `intro`
+-- TABLE intro
 --
-
 CREATE TABLE IF NOT EXISTS `intro` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(10) unsigned NOT NULL,
-  `fid` int(11) NOT NULL DEFAULT '0',
-  `contact-id` int(11) NOT NULL,
-  `knowyou` tinyint(1) NOT NULL,
-  `duplex` tinyint(1) NOT NULL DEFAULT '0',
-  `note` text NOT NULL,
-  `hash` char(255) NOT NULL,
-  `datetime` datetime NOT NULL,
-  `blocked` tinyint(1) NOT NULL DEFAULT '1',
-  `ignore` tinyint(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `fid` int(11) NOT NULL DEFAULT '0',
+       `contact-id` int(11) NOT NULL DEFAULT '0',
+       `knowyou` tinyint(1) NOT NULL DEFAULT '0',
+       `duplex` tinyint(1) NOT NULL DEFAULT '0',
+       `note` text NOT NULL,
+       `hash` varchar(255) NOT NULL DEFAULT '',
+       `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `blocked` tinyint(1) NOT NULL DEFAULT '1',
+       `ignore` tinyint(1) NOT NULL DEFAULT '0'        
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `item`
+-- TABLE item
 --
-
 CREATE TABLE IF NOT EXISTS `item` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `guid` char(255) NOT NULL,
-  `uri` char(255) CHARACTER SET ascii NOT NULL,
-  `uid` int(10) unsigned NOT NULL DEFAULT '0',
-  `contact-id` int(10) unsigned NOT NULL DEFAULT '0',
-  `type` char(255) NOT NULL,
-  `wall` tinyint(1) NOT NULL DEFAULT '0',
-  `gravity` tinyint(1) NOT NULL DEFAULT '0',
-  `parent` int(10) unsigned NOT NULL DEFAULT '0',
-  `parent-uri` char(255) CHARACTER SET ascii NOT NULL,
-  `extid` char(255) NOT NULL,
-  `thr-parent` char(255) NOT NULL,
-  `created` datetime NOT NULL,
-  `edited` datetime NOT NULL,
-  `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `owner-name` char(255) NOT NULL,
-  `owner-link` char(255) NOT NULL,
-  `owner-avatar` char(255) NOT NULL,
-  `author-name` char(255) NOT NULL,
-  `author-link` char(255) NOT NULL,
-  `author-avatar` char(255) NOT NULL,
-  `title` char(255) NOT NULL,
-  `body` mediumtext NOT NULL,
-  `app` char(255) NOT NULL,
-  `verb` char(255) NOT NULL,
-  `object-type` char(255) NOT NULL,
-  `object` text NOT NULL,
-  `target-type` char(255) NOT NULL,
-  `target` text NOT NULL,
-  `postopts` text NOT NULL,
-  `plink` char(255) NOT NULL,
-  `resource-id` char(255) NOT NULL,
-  `event-id` int(11) NOT NULL,
-  `tag` mediumtext NOT NULL,
-  `attach` mediumtext NOT NULL,
-  `inform` mediumtext NOT NULL,
-  `file` mediumtext NOT NULL,
-  `location` char(255) NOT NULL,
-  `coord` char(255) NOT NULL,
-  `allow_cid` mediumtext NOT NULL,
-  `allow_gid` mediumtext NOT NULL,
-  `deny_cid` mediumtext NOT NULL,
-  `deny_gid` mediumtext NOT NULL,
-  `private` tinyint(1) NOT NULL DEFAULT '0',
-  `pubmail` tinyint(1) NOT NULL DEFAULT '0',
-  `moderated` tinyint(1) NOT NULL DEFAULT '0',
-  `visible` tinyint(1) NOT NULL DEFAULT '0',
-  `spam` tinyint(1) NOT NULL DEFAULT '0',
-  `starred` tinyint(1) NOT NULL DEFAULT '0',
-  `bookmark` tinyint(1) NOT NULL DEFAULT '0',
-  `unseen` tinyint(1) NOT NULL DEFAULT '1',
-  `deleted` tinyint(1) NOT NULL DEFAULT '0',
-  `origin` tinyint(1) NOT NULL DEFAULT '0',
-  `forum_mode` tinyint(1) NOT NULL DEFAULT '0',
-  `mention` tinyint(1) NOT NULL DEFAULT '0',
-  `last-child` tinyint(1) unsigned NOT NULL DEFAULT '1',
-  `network` char(32) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `uri` (`uri`),
-  KEY `uid` (`uid`),
-  KEY `contact-id` (`contact-id`),
-  KEY `type` (`type`),
-  KEY `parent` (`parent`),
-  KEY `parent-uri` (`parent-uri`),
-  KEY `created` (`created`),
-  KEY `edited` (`edited`),
-  KEY `visible` (`visible`),
-  KEY `deleted` (`deleted`),
-  KEY `last-child` (`last-child`),
-  KEY `unseen` (`unseen`),
-  KEY `extid` (`extid`),
-  KEY `received` (`received`),
-  KEY `starred` (`starred`),
-  KEY `guid` (`guid`),
-  KEY `origin` (`origin`),
-  KEY `wall` (`wall`),
-  KEY `forum_mode` (`forum_mode`),
-  KEY `author-link` (`author-link`),
-  KEY `bookmark` (`bookmark`),
-  KEY `moderated` (`moderated`),
-  KEY `spam` (`spam`),
-  KEY `author-name` (`author-name`),
-  KEY `uid_commented` (`uid`, `commented`),
-  KEY `uid_created` (`uid`, `created`),
-  KEY `uid_unseen` (`uid`, `unseen`),
-  KEY `mention` (`mention`),
-  KEY `resource-id` (`resource-id`),
-  KEY `event_id` (`event-id`),
-  KEY `network` (`network`),
-  FULLTEXT KEY `title` (`title`),
-  FULLTEXT KEY `body` (`body`),
-  FULLTEXT KEY `allow_cid` (`allow_cid`),
-  FULLTEXT KEY `allow_gid` (`allow_gid`),
-  FULLTEXT KEY `deny_cid` (`deny_cid`),
-  FULLTEXT KEY `deny_gid` (`deny_gid`),
-  FULLTEXT KEY `tag` (`tag`),
-  FULLTEXT KEY `file` (`file`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `item_id`
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `guid` varchar(255) NOT NULL DEFAULT '',
+       `uri` varchar(255) NOT NULL DEFAULT '',
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `contact-id` int(11) NOT NULL DEFAULT '0',
+       `type` varchar(255) NOT NULL DEFAULT '',
+       `wall` tinyint(1) NOT NULL DEFAULT '0',
+       `gravity` tinyint(1) NOT NULL DEFAULT '0',
+       `parent` int(10) unsigned NOT NULL DEFAULT '0',
+       `parent-uri` varchar(255) NOT NULL DEFAULT '',
+       `extid` varchar(255) NOT NULL DEFAULT '',
+       `thr-parent` varchar(255) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `owner-name` varchar(255) NOT NULL DEFAULT '',
+       `owner-link` varchar(255) NOT NULL DEFAULT '',
+       `owner-avatar` varchar(255) NOT NULL DEFAULT '',
+       `author-name` varchar(255) NOT NULL DEFAULT '',
+       `author-link` varchar(255) NOT NULL DEFAULT '',
+       `author-avatar` varchar(255) NOT NULL DEFAULT '',
+       `title` varchar(255) NOT NULL DEFAULT '',
+       `body` mediumtext NOT NULL,
+       `app` varchar(255) NOT NULL DEFAULT '',
+       `verb` varchar(255) NOT NULL DEFAULT '',
+       `object-type` varchar(255) NOT NULL DEFAULT '',
+       `object` text NOT NULL,
+       `target-type` varchar(255) NOT NULL DEFAULT '',
+       `target` text NOT NULL,
+       `postopts` text NOT NULL,
+       `plink` varchar(255) NOT NULL DEFAULT '',
+       `resource-id` varchar(255) NOT NULL DEFAULT '',
+       `event-id` int(11) NOT NULL DEFAULT '0',
+       `tag` mediumtext NOT NULL,
+       `attach` mediumtext NOT NULL,
+       `inform` mediumtext NOT NULL,
+       `file` mediumtext NOT NULL,
+       `location` varchar(255) NOT NULL DEFAULT '',
+       `coord` varchar(255) NOT NULL DEFAULT '',
+       `allow_cid` mediumtext NOT NULL,
+       `allow_gid` mediumtext NOT NULL,
+       `deny_cid` mediumtext NOT NULL,
+       `deny_gid` mediumtext NOT NULL,
+       `private` tinyint(1) NOT NULL DEFAULT '0',
+       `pubmail` tinyint(1) NOT NULL DEFAULT '0',
+       `moderated` tinyint(1) NOT NULL DEFAULT '0',
+       `visible` tinyint(1) NOT NULL DEFAULT '0',
+       `spam` tinyint(1) NOT NULL DEFAULT '0',
+       `starred` tinyint(1) NOT NULL DEFAULT '0',
+       `bookmark` tinyint(1) NOT NULL DEFAULT '0',
+       `unseen` tinyint(1) NOT NULL DEFAULT '1',
+       `deleted` tinyint(1) NOT NULL DEFAULT '0',
+       `origin` tinyint(1) NOT NULL DEFAULT '0',
+       `forum_mode` tinyint(1) NOT NULL DEFAULT '0',
+       `last-child` tinyint(1) unsigned NOT NULL DEFAULT '1',
+       `mention` tinyint(1) NOT NULL DEFAULT '0',
+       `network` varchar(32) NOT NULL DEFAULT '',
+       `rendered-hash` varchar(32) NOT NULL DEFAULT '',
+       `rendered-html` mediumtext NOT NULL,
+       `global` tinyint(1) NOT NULL DEFAULT '0'        
+        INDEX `guid` (`guid`)
+        INDEX `uri` (`uri`)
+        INDEX `parent` (`parent`)
+        INDEX `parent-uri` (`parent-uri`)
+        INDEX `extid` (`extid`)
+        INDEX `uid_id` (`uid`,`id`)
+        INDEX `uid_created` (`uid`,`created`)
+        INDEX `uid_unseen` (`uid`,`unseen`)
+        INDEX `uid_network_received` (`uid`,`network`,`received`)
+        INDEX `uid_received` (`uid`,`received`)
+        INDEX `uid_network_commented` (`uid`,`network`,`commented`)
+        INDEX `uid_commented` (`uid`,`commented`)
+        INDEX `uid_title` (`uid`,`title`)
+        INDEX `uid_thrparent` (`uid`,`thr-parent`)
+        INDEX `uid_parenturi` (`uid`,`parent-uri`)
+        INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`)
+        INDEX `wall_body` (`wall`,`body`(6))
+        INDEX `uid_visible_moderated_created` (`uid`,`visible`,`moderated`,`created`)
+        INDEX `uid_uri` (`uid`,`uri`)
+        INDEX `uid_wall_created` (`uid`,`wall`,`created`)
+        INDEX `resource-id` (`resource-id`)
+        INDEX `uid_type` (`uid`,`type`)
+        INDEX `uid_starred` (`uid`,`starred`)
+        INDEX `contactid_allowcid_allowpid_denycid_denygid` (`contact-id`,`allow_cid`(10),`allow_gid`(10),`deny_cid`(10),`deny_gid`(10))
+        INDEX `uid_wall_parent_created` (`uid`,`wall`,`parent`,`created`)
+        INDEX `uid_type_changed` (`uid`,`type`,`changed`)
+        INDEX `contactid_verb` (`contact-id`,`verb`)
+        INDEX `deleted_changed` (`deleted`,`changed`)
+        INDEX `uid_wall_changed` (`uid`,`wall`,`changed`)
+        INDEX `uid_eventid` (`uid`,`event-id`)
+        INDEX `uid_authorlink` (`uid`,`author-link`)
+        INDEX `uid_ownerlink` (`uid`,`owner-link`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE item_id
 --
-
 CREATE TABLE IF NOT EXISTS `item_id` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `iid` int(11) NOT NULL,
-  `uid` int(11) NOT NULL,
-  `sid` char(255) NOT NULL,
-  `service` char(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `iid` (`iid`),
-  KEY `uid` (`uid`),
-  KEY `sid` (`sid`),
-  KEY `service` (`service`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `iid` int(11) NOT NULL DEFAULT '0',
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `sid` varchar(255) NOT NULL DEFAULT '',
+       `service` varchar(255) NOT NULL DEFAULT ''      
+        INDEX `uid` (`uid`)
+        INDEX `sid` (`sid`)
+        INDEX `service` (`service`)
+        INDEX `iid` (`iid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `locks`
+-- TABLE locks
 --
-
 CREATE TABLE IF NOT EXISTS `locks` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `name` char(128) NOT NULL,
-  `locked` tinyint(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `name` varchar(128) NOT NULL DEFAULT '',
+       `locked` tinyint(1) NOT NULL DEFAULT '0',
+       `created` datetime DEFAULT '0000-00-00 00:00:00'        
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `mail`
+-- TABLE mail
 --
-
 CREATE TABLE IF NOT EXISTS `mail` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(10) unsigned NOT NULL,
-  `guid` char(64) NOT NULL,
-  `from-name` char(255) NOT NULL,
-  `from-photo` char(255) NOT NULL,
-  `from-url` char(255) NOT NULL,
-  `contact-id` char(255) NOT NULL,
-  `convid` int(11) NOT NULL,
-  `title` char(255) NOT NULL,
-  `body` mediumtext NOT NULL,
-  `seen` tinyint(1) NOT NULL,
-  `reply` tinyint(1) NOT NULL DEFAULT '0',
-  `replied` tinyint(1) NOT NULL,
-  `unknown` tinyint(1) NOT NULL DEFAULT '0',
-  `uri` char(255) NOT NULL,
-  `parent-uri` char(255) NOT NULL,
-  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  PRIMARY KEY (`id`),
-  KEY `reply` (`reply`),
-  KEY `uid` (`uid`),
-  KEY `guid` (`guid`),
-  KEY `seen` (`seen`),
-  KEY `uri` (`uri`),
-  KEY `parent-uri` (`parent-uri`),
-  KEY `created` (`created`),
-  KEY `convid` (`convid`),
-  KEY `unknown` (`unknown`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `mailacct`
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `guid` varchar(64) NOT NULL DEFAULT '',
+       `from-name` varchar(255) NOT NULL DEFAULT '',
+       `from-photo` varchar(255) NOT NULL DEFAULT '',
+       `from-url` varchar(255) NOT NULL DEFAULT '',
+       `contact-id` varchar(255) NOT NULL DEFAULT '',
+       `convid` int(11) unsigned NOT NULL DEFAULT '0',
+       `title` varchar(255) NOT NULL DEFAULT '',
+       `body` mediumtext NOT NULL,
+       `seen` tinyint(1) NOT NULL DEFAULT '0',
+       `reply` tinyint(1) NOT NULL DEFAULT '0',
+       `replied` tinyint(1) NOT NULL DEFAULT '0',
+       `unknown` tinyint(1) NOT NULL DEFAULT '0',
+       `uri` varchar(255) NOT NULL DEFAULT '',
+       `parent-uri` varchar(255) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'       
+        INDEX `uid` (`uid`)
+        INDEX `guid` (`guid`)
+        INDEX `convid` (`convid`)
+        INDEX `reply` (`reply`)
+        INDEX `uri` (`uri`)
+        INDEX `parent-uri` (`parent-uri`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE mailacct
 --
-
 CREATE TABLE IF NOT EXISTS `mailacct` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `server` char(255) NOT NULL,
-  `port` int(11) NOT NULL,
-  `ssltype` char(16) NOT NULL,
-  `mailbox` char(255) NOT NULL,
-  `user` char(255) NOT NULL,
-  `pass` text NOT NULL,
-  `action` int(11) NOT NULL,
-  `movetofolder` char(255) NOT NULL,
-  `reply_to` char(255) NOT NULL,
-  `pubmail` tinyint(1) NOT NULL DEFAULT '0',
-  `last_check` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `server` varchar(255) NOT NULL DEFAULT '',
+       `port` int(11) NOT NULL DEFAULT '0',
+       `ssltype` varchar(16) NOT NULL DEFAULT '',
+       `mailbox` varchar(255) NOT NULL DEFAULT '',
+       `user` varchar(255) NOT NULL DEFAULT '',
+       `pass` text NOT NULL,
+       `reply_to` varchar(255) NOT NULL DEFAULT '',
+       `action` int(11) NOT NULL DEFAULT '0',
+       `movetofolder` varchar(255) NOT NULL DEFAULT '',
+       `pubmail` tinyint(1) NOT NULL DEFAULT '0',
+       `last_check` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'    
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `manage`
+-- TABLE manage
 --
-
 CREATE TABLE IF NOT EXISTS `manage` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `mid` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `uid` (`uid`),
-  KEY `mid` (`mid`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `mid` int(11) NOT NULL DEFAULT '0'      
+        INDEX `uid_mid` (`uid`,`mid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `notify`
+-- TABLE notify
 --
-
 CREATE TABLE IF NOT EXISTS `notify` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `hash` char(64) NOT NULL,
-  `name` char(255) NOT NULL,
-  `url` char(255) NOT NULL,
-  `photo` char(255) NOT NULL,
-  `date` datetime NOT NULL,
-  `msg` mediumtext NOT NULL,
-  `uid` int(11) NOT NULL,
-  `link` char(255) NOT NULL,
-  `parent` int(11) NOT NULL,
-  `seen` tinyint(1) NOT NULL DEFAULT '0',
-  `type` int(11) NOT NULL,
-  `verb` char(255) NOT NULL,
-  `otype` char(16) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `type` (`type`),
-  KEY `seen` (`seen`),
-  KEY `uid` (`uid`),
-  KEY `date` (`date`),
-  KEY `hash` (`hash`),
-  KEY `parent` (`parent`),
-  KEY `link` (`link`),
-  KEY `otype` (`otype`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `notify-threads`
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `hash` varchar(64) NOT NULL DEFAULT '',
+       `type` int(11) NOT NULL DEFAULT '0',
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `url` varchar(255) NOT NULL DEFAULT '',
+       `photo` varchar(255) NOT NULL DEFAULT '',
+       `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `msg` mediumtext NOT NULL,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `link` varchar(255) NOT NULL DEFAULT '',
+       `parent` int(11) NOT NULL DEFAULT '0',
+       `seen` tinyint(1) NOT NULL DEFAULT '0',
+       `verb` varchar(255) NOT NULL DEFAULT '',
+       `otype` varchar(16) NOT NULL DEFAULT '' 
+        INDEX `uid` (`uid`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE notify-threads
 --
-
 CREATE TABLE IF NOT EXISTS `notify-threads` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `notify-id` int(11) NOT NULL,
-  `master-parent-item` int(10) unsigned NOT NULL DEFAULT '0',
-  `parent-item` int(10) unsigned NOT NULL DEFAULT '0',
-  `receiver-uid` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `master-parent-item` (`master-parent-item`),
-  KEY `receiver-uid` (`receiver-uid`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `notify-id` int(11) NOT NULL DEFAULT '0',
+       `master-parent-item` int(10) unsigned NOT NULL DEFAULT '0',
+       `parent-item` int(10) unsigned NOT NULL DEFAULT '0',
+       `receiver-uid` int(11) NOT NULL DEFAULT '0'     
+        INDEX `master-parent-item` (`master-parent-item`)
+        INDEX `receiver-uid` (`receiver-uid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `pconfig`
+-- TABLE pconfig
 --
-
 CREATE TABLE IF NOT EXISTS `pconfig` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL DEFAULT '0',
-  `cat` char(255) CHARACTER SET ascii NOT NULL,
-  `k` char(255) CHARACTER SET ascii NOT NULL,
-  `v` mediumtext NOT NULL,
-  PRIMARY KEY (`id`),
-  UNIQUE KEY `access` (`uid`,`cat`,`k`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `cat` varchar(255) NOT NULL DEFAULT '',
+       `k` varchar(255) NOT NULL DEFAULT '',
+       `v` mediumtext NOT NULL 
+        INDEX `uid_cat_k` (`uid`,`cat`(30),`k`(30))
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `photo`
+-- TABLE photo
 --
-
 CREATE TABLE IF NOT EXISTS `photo` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(10) unsigned NOT NULL,
-  `contact-id` int(10) unsigned NOT NULL DEFAULT '0',
-  `guid` char(64) NOT NULL,
-  `resource-id` char(255) NOT NULL,
-  `created` datetime NOT NULL,
-  `edited` datetime NOT NULL,
-  `title` char(255) NOT NULL,
-  `desc` text NOT NULL,
-  `album` char(255) NOT NULL,
-  `filename` char(255) NOT NULL,
-  `type` CHAR(128) NOT NULL DEFAULT 'image/jpeg',
-  `height` smallint(6) NOT NULL,
-  `width` smallint(6) NOT NULL,
-  `datasize` int(10) unsigned NOT NULL DEFAULT '0',
-  `data` mediumblob NOT NULL,
-  `scale` tinyint(3) NOT NULL,
-  `profile` tinyint(1) NOT NULL DEFAULT '0',
-  `allow_cid` mediumtext NOT NULL,
-  `allow_gid` mediumtext NOT NULL,
-  `deny_cid` mediumtext NOT NULL,
-  `deny_gid` mediumtext NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `uid` (`uid`),
-  KEY `resource-id` (`resource-id`),
-  KEY `album` (`album`),
-  KEY `scale` (`scale`),
-  KEY `datasize` (`datasize`),
-  KEY `profile` (`profile`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `poll`
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `contact-id` int(10) unsigned NOT NULL DEFAULT '0',
+       `guid` varchar(64) NOT NULL DEFAULT '',
+       `resource-id` varchar(255) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `title` varchar(255) NOT NULL DEFAULT '',
+       `desc` text NOT NULL,
+       `album` varchar(255) NOT NULL DEFAULT '',
+       `filename` varchar(255) NOT NULL DEFAULT '',
+       `type` varchar(128) NOT NULL DEFAULT 'image/jpeg',
+       `height` smallint(6) NOT NULL DEFAULT '0',
+       `width` smallint(6) NOT NULL DEFAULT '0',
+       `datasize` int(10) unsigned NOT NULL DEFAULT '0',
+       `data` mediumblob NOT NULL,
+       `scale` tinyint(3) NOT NULL DEFAULT '0',
+       `profile` tinyint(1) NOT NULL DEFAULT '0',
+       `allow_cid` mediumtext NOT NULL,
+       `allow_gid` mediumtext NOT NULL,
+       `deny_cid` mediumtext NOT NULL,
+       `deny_gid` mediumtext NOT NULL  
+        INDEX `uid` (`uid`)
+        INDEX `resource-id` (`resource-id`)
+        INDEX `guid` (`guid`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE poll
 --
-
 CREATE TABLE IF NOT EXISTS `poll` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `q0` mediumtext NOT NULL,
-  `q1` mediumtext NOT NULL,
-  `q2` mediumtext NOT NULL,
-  `q3` mediumtext NOT NULL,
-  `q4` mediumtext NOT NULL,
-  `q5` mediumtext NOT NULL,
-  `q6` mediumtext NOT NULL,
-  `q7` mediumtext NOT NULL,
-  `q8` mediumtext NOT NULL,
-  `q9` mediumtext NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `uid` (`uid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `q0` mediumtext NOT NULL,
+       `q1` mediumtext NOT NULL,
+       `q2` mediumtext NOT NULL,
+       `q3` mediumtext NOT NULL,
+       `q4` mediumtext NOT NULL,
+       `q5` mediumtext NOT NULL,
+       `q6` mediumtext NOT NULL,
+       `q7` mediumtext NOT NULL,
+       `q8` mediumtext NOT NULL,
+       `q9` mediumtext NOT NULL        
+        INDEX `uid` (`uid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `poll_result`
+-- TABLE poll_result
 --
-
 CREATE TABLE IF NOT EXISTS `poll_result` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `poll_id` int(11) NOT NULL,
-  `choice` int(11) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `poll_id` (`poll_id`),
-  KEY `choice` (`choice`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `poll_id` int(11) NOT NULL DEFAULT '0',
+       `choice` int(11) NOT NULL DEFAULT '0'   
+        INDEX `poll_id` (`poll_id`)
+        INDEX `choice` (`choice`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `profile`
+-- TABLE profile
 --
-
 CREATE TABLE IF NOT EXISTS `profile` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `profile-name` char(255) NOT NULL,
-  `is-default` tinyint(1) NOT NULL DEFAULT '0',
-  `hide-friends` tinyint(1) NOT NULL DEFAULT '0',
-  `name` char(255) NOT NULL,
-  `pdesc` char(255) NOT NULL,
-  `dob` char(32) NOT NULL DEFAULT '0000-00-00',
-  `address` char(255) NOT NULL,
-  `locality` char(255) NOT NULL,
-  `region` char(255) NOT NULL,
-  `postal-code` char(32) NOT NULL,
-  `country-name` char(255) NOT NULL,
-  `hometown` char(255) NOT NULL,
-  `gender` char(32) NOT NULL,
-  `marital` char(255) NOT NULL,
-  `with` text NOT NULL,
-  `howlong` datetime NOT NULL default '0000-00-00 00:00:00',
-  `sexual` char(255) NOT NULL,
-  `politic` char(255) NOT NULL,
-  `religion` char(255) NOT NULL,
-  `pub_keywords` text NOT NULL,
-  `prv_keywords` text NOT NULL,
-  `likes` text NOT NULL,
-  `dislikes` text NOT NULL,
-  `about` text NOT NULL,
-  `summary` char(255) NOT NULL,
-  `music` text NOT NULL,
-  `book` text NOT NULL,
-  `tv` text NOT NULL,
-  `film` text NOT NULL,
-  `interest` text NOT NULL,
-  `romance` text NOT NULL,
-  `work` text NOT NULL,
-  `education` text NOT NULL,
-  `contact` text NOT NULL,
-  `homepage` char(255) NOT NULL,
-  `photo` char(255) NOT NULL,
-  `thumb` char(255) NOT NULL,
-  `publish` tinyint(1) NOT NULL DEFAULT '0',
-  `net-publish` tinyint(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`id`),
-  FULLTEXT KEY `pub_keywords` (`pub_keywords`),
-  FULLTEXT KEY `prv_keywords` (`prv_keywords`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `profile_check`
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `profile-name` varchar(255) NOT NULL DEFAULT '',
+       `is-default` tinyint(1) NOT NULL DEFAULT '0',
+       `hide-friends` tinyint(1) NOT NULL DEFAULT '0',
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `pdesc` varchar(255) NOT NULL DEFAULT '',
+       `dob` varchar(32) NOT NULL DEFAULT '0000-00-00',
+       `address` varchar(255) NOT NULL DEFAULT '',
+       `locality` varchar(255) NOT NULL DEFAULT '',
+       `region` varchar(255) NOT NULL DEFAULT '',
+       `postal-code` varchar(32) NOT NULL DEFAULT '',
+       `country-name` varchar(255) NOT NULL DEFAULT '',
+       `hometown` varchar(255) NOT NULL DEFAULT '',
+       `gender` varchar(32) NOT NULL DEFAULT '',
+       `marital` varchar(255) NOT NULL DEFAULT '',
+       `with` text NOT NULL,
+       `howlong` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `sexual` varchar(255) NOT NULL DEFAULT '',
+       `politic` varchar(255) NOT NULL DEFAULT '',
+       `religion` varchar(255) NOT NULL DEFAULT '',
+       `pub_keywords` text NOT NULL,
+       `prv_keywords` text NOT NULL,
+       `likes` text NOT NULL,
+       `dislikes` text NOT NULL,
+       `about` text NOT NULL,
+       `summary` varchar(255) NOT NULL DEFAULT '',
+       `music` text NOT NULL,
+       `book` text NOT NULL,
+       `tv` text NOT NULL,
+       `film` text NOT NULL,
+       `interest` text NOT NULL,
+       `romance` text NOT NULL,
+       `work` text NOT NULL,
+       `education` text NOT NULL,
+       `contact` text NOT NULL,
+       `homepage` varchar(255) NOT NULL DEFAULT '',
+       `photo` varchar(255) NOT NULL DEFAULT '',
+       `thumb` varchar(255) NOT NULL DEFAULT '',
+       `publish` tinyint(1) NOT NULL DEFAULT '0',
+       `net-publish` tinyint(1) NOT NULL DEFAULT '0'   
+        INDEX `hometown` (`hometown`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE profile_check
 --
-
 CREATE TABLE IF NOT EXISTS `profile_check` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `uid` int(10) unsigned NOT NULL,
-  `cid` int(10) unsigned NOT NULL DEFAULT '0',
-  `dfrn_id` char(255) NOT NULL,
-  `sec` char(255) NOT NULL,
-  `expire` int(11) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `cid` int(10) unsigned NOT NULL DEFAULT '0',
+       `dfrn_id` varchar(255) NOT NULL DEFAULT '',
+       `sec` varchar(255) NOT NULL DEFAULT '',
+       `expire` int(11) NOT NULL DEFAULT '0'   
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `queue`
+-- TABLE push_subscriber
 --
+CREATE TABLE IF NOT EXISTS `push_subscriber` (
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `callback_url` varchar(255) NOT NULL DEFAULT '',
+       `topic` varchar(255) NOT NULL DEFAULT '',
+       `nickname` varchar(255) NOT NULL DEFAULT '',
+       `push` int(11) NOT NULL DEFAULT '0',
+       `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `secret` varchar(255) NOT NULL DEFAULT ''       
 
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE queue
+--
 CREATE TABLE IF NOT EXISTS `queue` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `cid` int(11) NOT NULL,
-  `network` char(32) NOT NULL,
-  `created` datetime NOT NULL,
-  `last` datetime NOT NULL,
-  `content` mediumtext NOT NULL,
-  `batch` tinyint(1) NOT NULL DEFAULT '0',
-  PRIMARY KEY (`id`),
-  KEY `cid` (`cid`),
-  KEY `network` (`network`),
-  KEY `created` (`created`),
-  KEY `last` (`last`),
-  KEY `batch` (`batch`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `cid` int(11) NOT NULL DEFAULT '0',
+       `network` varchar(32) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `content` mediumtext NOT NULL,
+       `batch` tinyint(1) NOT NULL DEFAULT '0' 
+        INDEX `cid` (`cid`)
+        INDEX `created` (`created`)
+        INDEX `last` (`last`)
+        INDEX `network` (`network`)
+        INDEX `batch` (`batch`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `register`
+-- TABLE register
 --
-
 CREATE TABLE IF NOT EXISTS `register` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `hash` char(255) NOT NULL,
-  `created` datetime NOT NULL,
-  `uid` int(10) unsigned NOT NULL,
-  `password` char(255) NOT NULL,
-  `language` char(16) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `hash` varchar(255) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `uid` int(11) unsigned NOT NULL DEFAULT '0',
+       `password` varchar(255) NOT NULL DEFAULT '',
+       `language` varchar(16) NOT NULL DEFAULT ''      
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `search`
+-- TABLE search
 --
-
 CREATE TABLE IF NOT EXISTS `search` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `term` char(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `uid` (`uid`),
-  KEY `term` (`term`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `term` varchar(255) NOT NULL DEFAULT '' 
+        INDEX `uid` (`uid`)
+        INDEX `term` (`term`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `session`
+-- TABLE session
 --
-
 CREATE TABLE IF NOT EXISTS `session` (
-  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-  `sid` char(255) NOT NULL,
-  `data` text NOT NULL,
-  `expire` int(10) unsigned NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `sid` (`sid`),
-  KEY `expire` (`expire`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` bigint(20) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `sid` varchar(255) NOT NULL DEFAULT '',
+       `data` text NOT NULL,
+       `expire` int(10) unsigned NOT NULL DEFAULT '0'  
+        INDEX `sid` (`sid`)
+        INDEX `expire` (`expire`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `sign`
+-- TABLE sign
 --
-
 CREATE TABLE IF NOT EXISTS `sign` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `iid` int(10) unsigned NOT NULL DEFAULT '0',
-  `retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
-  `signed_text` mediumtext NOT NULL,
-  `signature` text NOT NULL,
-  `signer` char(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `iid` (`iid`),
-  KEY `retract_iid` (`retract_iid`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `iid` int(10) unsigned NOT NULL DEFAULT '0',
+       `retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
+       `signed_text` mediumtext NOT NULL,
+       `signature` text NOT NULL,
+       `signer` varchar(255) NOT NULL DEFAULT ''       
+        INDEX `iid` (`iid`)
+        INDEX `retract_iid` (`retract_iid`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `spam`
+-- TABLE spam
 --
-
 CREATE TABLE IF NOT EXISTS `spam` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `spam` int(11) NOT NULL DEFAULT '0',
-  `ham` int(11) NOT NULL DEFAULT '0',
-  `term` char(255) NOT NULL,
-  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  PRIMARY KEY (`id`),
-  KEY `uid` (`uid`),
-  KEY `spam` (`spam`),
-  KEY `ham` (`ham`),
-  KEY `term` (`term`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL DEFAULT '0',
+       `spam` int(11) NOT NULL DEFAULT '0',
+       `ham` int(11) NOT NULL DEFAULT '0',
+       `term` varchar(255) NOT NULL DEFAULT '',
+       `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'  
+        INDEX `uid` (`uid`)
+        INDEX `spam` (`spam`)
+        INDEX `ham` (`ham`)
+        INDEX `term` (`term`)
 
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `term`
+-- TABLE term
 --
-
 CREATE TABLE IF NOT EXISTS `term` (
-  `tid` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `aid` int(10) unsigned NOT NULL DEFAULT '0',
-  `uid` int(10) unsigned NOT NULL DEFAULT '0',
-  `oid` int(10) unsigned NOT NULL,
-  `otype` tinyint(3) unsigned NOT NULL,
-  `type` tinyint(3) unsigned NOT NULL,
-  `term` char(255) NOT NULL,
-  `url` char(255) NOT NULL,
-  PRIMARY KEY (`tid`),
-  KEY `oid` (`oid`),
-  KEY `otype` (`otype`),
-  KEY `type` (`type`),
-  KEY `term` (`term`),
-  KEY `uid` (`uid`),
-  KEY `aid` (`aid`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
+       `tid` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `oid` int(10) unsigned NOT NULL DEFAULT '0',
+       `otype` tinyint(3) unsigned NOT NULL DEFAULT '0',
+       `type` tinyint(3) unsigned NOT NULL DEFAULT '0',
+       `term` varchar(255) NOT NULL DEFAULT '',
+       `url` varchar(255) NOT NULL DEFAULT '',
+       `guid` varchar(255) NOT NULL DEFAULT '',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `global` tinyint(1) NOT NULL DEFAULT '0',
+       `aid` int(10) unsigned NOT NULL DEFAULT '0',
+       `uid` int(10) unsigned NOT NULL DEFAULT '0'     
+        INDEX `oid_otype_type_term` (`oid`,`otype`,`type`,`term`)
+        INDEX `uid_term_tid` (`uid`,`term`,`tid`)
+        INDEX `type_term` (`type`,`term`)
+        INDEX `uid_otype_type_term_global_created` (`uid`,`otype`,`type`,`term`,`global`,`created`)
+        INDEX `otype_type_term_tid` (`otype`,`type`,`term`,`tid`)
+        INDEX `guid` (`guid`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE thread
 --
--- Table structure for table `tokens`
+CREATE TABLE IF NOT EXISTS `thread` (
+       `iid` int(10) unsigned NOT NULL DEFAULT '0' PRIMARY KEY,
+       `uid` int(10) unsigned NOT NULL DEFAULT '0',
+       `contact-id` int(11) unsigned NOT NULL DEFAULT '0',
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `wall` tinyint(1) NOT NULL DEFAULT '0',
+       `private` tinyint(1) NOT NULL DEFAULT '0',
+       `pubmail` tinyint(1) NOT NULL DEFAULT '0',
+       `moderated` tinyint(1) NOT NULL DEFAULT '0',
+       `visible` tinyint(1) NOT NULL DEFAULT '0',
+       `spam` tinyint(1) NOT NULL DEFAULT '0',
+       `starred` tinyint(1) NOT NULL DEFAULT '0',
+       `ignored` tinyint(1) NOT NULL DEFAULT '0',
+       `bookmark` tinyint(1) NOT NULL DEFAULT '0',
+       `unseen` tinyint(1) NOT NULL DEFAULT '1',
+       `deleted` tinyint(1) NOT NULL DEFAULT '0',
+       `origin` tinyint(1) NOT NULL DEFAULT '0',
+       `forum_mode` tinyint(1) NOT NULL DEFAULT '0',
+       `mention` tinyint(1) NOT NULL DEFAULT '0',
+       `network` varchar(32) NOT NULL DEFAULT ''       
+        INDEX `created` (`created`)
+        INDEX `commented` (`commented`)
+        INDEX `uid_network_commented` (`uid`,`network`,`commented`)
+        INDEX `uid_network_created` (`uid`,`network`,`created`)
+        INDEX `uid_contactid_commented` (`uid`,`contact-id`,`commented`)
+        INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`)
+        INDEX `wall_private_received` (`wall`,`private`,`received`)
+        INDEX `uid_created` (`uid`,`created`)
+        INDEX `uid_commented` (`uid`,`commented`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE tokens
 --
-
 CREATE TABLE IF NOT EXISTS `tokens` (
-  `id` varchar(40) NOT NULL,
-  `secret` text NOT NULL,
-  `client_id` varchar(20) NOT NULL,
-  `expires` int(11) NOT NULL,
-  `scope` varchar(200) NOT NULL,
-  `uid` int(11) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `user`
---
+       `id` varchar(40) NOT NULL PRIMARY KEY,
+       `secret` text NOT NULL,
+       `client_id` varchar(20) NOT NULL DEFAULT '',
+       `expires` int(11) NOT NULL DEFAULT '0',
+       `scope` varchar(200) NOT NULL DEFAULT '',
+       `uid` int(11) NOT NULL DEFAULT '0'      
 
-CREATE TABLE IF NOT EXISTS `user` (
-  `uid` int(11) NOT NULL AUTO_INCREMENT,
-  `guid` char(16) NOT NULL,
-  `username` char(255) NOT NULL,
-  `password` char(255) NOT NULL,
-  `nickname` char(255) NOT NULL,
-  `email` char(255) NOT NULL,
-  `openid` char(255) NOT NULL,
-  `timezone` char(128) NOT NULL,
-  `language` char(16) NOT NULL DEFAULT 'en',
-  `register_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `login_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `default-location` char(255) NOT NULL,
-  `allow_location` tinyint(1) NOT NULL DEFAULT '0',
-  `theme` char(255) NOT NULL,
-  `pubkey` text NOT NULL,
-  `prvkey` text NOT NULL,
-  `spubkey` text NOT NULL,
-  `sprvkey` text NOT NULL,
-  `verified` tinyint(1) unsigned NOT NULL DEFAULT '0',
-  `blocked` tinyint(1) unsigned NOT NULL DEFAULT '0',
-  `blockwall` tinyint(1) NOT NULL DEFAULT '0',
-  `hidewall` tinyint(1) NOT NULL DEFAULT '0',
-  `blocktags` tinyint(1) NOT NULL DEFAULT '0',
-  `unkmail` tinyint(1) NOT NULL DEFAULT '0',
-  `cntunkmail` int(11) NOT NULL DEFAULT '10',
-  `notify-flags` int(11) unsigned NOT NULL DEFAULT '65535',
-  `page-flags` int(11) NOT NULL DEFAULT '0',
-  `prvnets` tinyint(1) NOT NULL DEFAULT '0',
-  `pwdreset` char(255) NOT NULL,
-  `maxreq` int(11) NOT NULL DEFAULT '10',
-  `expire` int(10) unsigned NOT NULL DEFAULT '0',
-  `account_removed` tinyint(1) NOT NULL DEFAULT '0',
-  `account_expired` tinyint(1) NOT NULL DEFAULT '0',
-  `account_expires_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `expire_notification_sent` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `service_class` char(32) NOT NULL,
-  `def_gid` int(11) NOT NULL DEFAULT '0',
-  `allow_cid` mediumtext NOT NULL,
-  `allow_gid` mediumtext NOT NULL,
-  `deny_cid` mediumtext NOT NULL,
-  `deny_gid` mediumtext NOT NULL,
-  `openidserver` text NOT NULL,
-  PRIMARY KEY (`uid`),
-  KEY `nickname` (`nickname`),
-  KEY `login_date` (`login_date`),
-  KEY `account_expired` (`account_expired`),
-  KEY `hidewall` (`hidewall`),
-  KEY `blockwall` (`blockwall`),
-  KEY `blocked` (`blocked`),
-  KEY `verified` (`verified`),
-  KEY `unkmail` (`unkmail`),
-  KEY `cntunkmail` (`cntunkmail`),
-  KEY `account_removed` (`account_removed`),
-  KEY `service_class` (`service_class`)
-) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `userd`
---
-
-CREATE TABLE IF NOT EXISTS `userd` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `username` char(255) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `tag`
+-- TABLE unique_contacts
 --
+CREATE TABLE IF NOT EXISTS `unique_contacts` (
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `url` varchar(255) NOT NULL DEFAULT '',
+       `nick` varchar(255) NOT NULL DEFAULT '',
+       `name` varchar(255) NOT NULL DEFAULT '',
+       `avatar` varchar(255) NOT NULL DEFAULT '',
+       `location` varchar(255) NOT NULL DEFAULT '',
+       `about` text NOT NULL   
+        INDEX `url` (`url`)
 
-CREATE TABLE IF NOT EXISTS `tag` (
-  `iid` int(11) NOT NULL,
-  `tag` char(255) NOT NULL,
-  `link` char(255) NOT NULL,
-  PRIMARY KEY (`iid`, `tag`),
-  KEY `tag` (`tag`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
 --
--- Table structure for table `push_subscriber`
---
-
-CREATE TABLE IF NOT EXISTS `push_subscriber` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `uid` int(11) NOT NULL,
-  `callback_url` char(255) NOT NULL,
-  `topic` char(255) NOT NULL,
-  `nickname` char(255) NOT NULL,
-  `push` int(11) NOT NULL,
-  `last_update` datetime NOT NULL,
-  `secret` char(255) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
+-- TABLE user
 --
--- Table structure for table `unique_contacts`
+CREATE TABLE IF NOT EXISTS `user` (
+       `uid` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `guid` varchar(64) NOT NULL DEFAULT '',
+       `username` varchar(255) NOT NULL DEFAULT '',
+       `password` varchar(255) NOT NULL DEFAULT '',
+       `nickname` varchar(255) NOT NULL DEFAULT '',
+       `email` varchar(255) NOT NULL DEFAULT '',
+       `openid` varchar(255) NOT NULL DEFAULT '',
+       `timezone` varchar(128) NOT NULL DEFAULT '',
+       `language` varchar(32) NOT NULL DEFAULT 'en',
+       `register_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `login_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `default-location` varchar(255) NOT NULL DEFAULT '',
+       `allow_location` tinyint(1) NOT NULL DEFAULT '0',
+       `theme` varchar(255) NOT NULL DEFAULT '',
+       `pubkey` text NOT NULL,
+       `prvkey` text NOT NULL,
+       `spubkey` text NOT NULL,
+       `sprvkey` text NOT NULL,
+       `verified` tinyint(1) unsigned NOT NULL DEFAULT '0',
+       `blocked` tinyint(1) unsigned NOT NULL DEFAULT '0',
+       `blockwall` tinyint(1) unsigned NOT NULL DEFAULT '0',
+       `hidewall` tinyint(1) unsigned NOT NULL DEFAULT '0',
+       `blocktags` tinyint(1) unsigned NOT NULL DEFAULT '0',
+       `unkmail` tinyint(1) NOT NULL DEFAULT '0',
+       `cntunkmail` int(11) NOT NULL DEFAULT '10',
+       `notify-flags` int(11) unsigned NOT NULL DEFAULT '65535',
+       `page-flags` int(11) unsigned NOT NULL DEFAULT '0',
+       `prvnets` tinyint(1) NOT NULL DEFAULT '0',
+       `pwdreset` varchar(255) NOT NULL DEFAULT '',
+       `maxreq` int(11) NOT NULL DEFAULT '10',
+       `expire` int(11) unsigned NOT NULL DEFAULT '0',
+       `account_removed` tinyint(1) NOT NULL DEFAULT '0',
+       `account_expired` tinyint(1) NOT NULL DEFAULT '0',
+       `account_expires_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `expire_notification_sent` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+       `service_class` varchar(32) NOT NULL DEFAULT '',
+       `def_gid` int(11) NOT NULL DEFAULT '0',
+       `allow_cid` mediumtext NOT NULL,
+       `allow_gid` mediumtext NOT NULL,
+       `deny_cid` mediumtext NOT NULL,
+       `deny_gid` mediumtext NOT NULL,
+       `openidserver` text NOT NULL    
+        INDEX `nickname` (`nickname`)
+
+) DEFAULT CHARSET=utf8;
+
+--
+-- TABLE userd
 --
+CREATE TABLE IF NOT EXISTS `userd` (
+       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `username` varchar(255) NOT NULL        
+        INDEX `username` (`username`)
 
-CREATE TABLE IF NOT EXISTS `unique_contacts` (
-  `id` INT NOT NULL AUTO_INCREMENT,
-  `url` CHAR(255) NOT NULL,
-  `nick` CHAR(255) NOT NULL,
-  `name` CHAR(255) NOT NULL,
-  `avatar` CHAR(255) NOT NULL,
-  PRIMARY KEY (`id`),
-  KEY `url` (`url`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
+) DEFAULT CHARSET=utf8;
 
---
--- Table structure for table `thread`
---
-
-CREATE TABLE IF NOT EXISTS `thread` (
-  `iid` int(10) unsigned NOT NULL DEFAULT '0',
-  `uid` int(10) unsigned NOT NULL DEFAULT '0',
-  `contact-id` int(11) unsigned NOT NULL DEFAULT '0',
-  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `wall` tinyint(1) NOT NULL DEFAULT '0',
-  `private` tinyint(1) NOT NULL DEFAULT '0',
-  `pubmail` tinyint(1) NOT NULL DEFAULT '0',
-  `moderated` tinyint(1) NOT NULL DEFAULT '0',
-  `visible` tinyint(1) NOT NULL DEFAULT '0',
-  `spam` tinyint(1) NOT NULL DEFAULT '0',
-  `starred` tinyint(1) NOT NULL DEFAULT '0',
-  `bookmark` tinyint(1) NOT NULL DEFAULT '0',
-  `unseen` tinyint(1) NOT NULL DEFAULT '1',
-  `deleted` tinyint(1) NOT NULL DEFAULT '0',
-  `origin` tinyint(1) NOT NULL DEFAULT '0',
-  `forum_mode` tinyint(1) NOT NULL DEFAULT '0',
-  `mention` tinyint(1) NOT NULL DEFAULT '0',
-  `network` char(32) NOT NULL,
-  PRIMARY KEY (`iid`),
-  KEY `created` (`created`),
-  KEY `commented` (`commented`),
-  KEY `uid_network_commented` (`uid`,`network`,`commented`),
-  KEY `uid_network_created` (`uid`,`network`,`created`),
-  KEY `uid_contactid_commented` (`uid`,`contact-id`,`commented`),
-  KEY `uid_contactid_created` (`uid`,`contact-id`,`created`),
-  KEY `wall_private_received` (`wall`,`private`,`received`),
-  KEY `uid_created` (`uid`,`created`),
-  KEY `uid_commented` (`uid`,`commented`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
index 0e78694a77465294e30b4faa4ae62b2cd0d17cee..6bcff294627776962147cdcd3fce6f0599b38e0c 100644 (file)
@@ -106,29 +106,17 @@ function table_structure($table) {
 }
 
 function print_structure($database) {
+       echo "-- ------------------------------------------\n";
+       echo "-- ".FRIENDICA_PLATFORM." ".FRIENDICA_VERSION." (".FRIENDICA_CODENAME,")\n";
+       echo "-- DB_UPDATE_VERSION ".DB_UPDATE_VERSION."\n";
+       echo "-- ------------------------------------------\n\n\n";
        foreach ($database AS $name => $structure) {
-               echo "\t".'$database["'.$name."\"] = array(\n";
+               echo "--\n";
+               echo "-- TABLE $name\n";
+               echo "--\n";
+               db_create_table($name, $structure['fields'], true, false, $structure["indexes"]);
 
-               echo "\t\t\t".'"fields" => array('."\n";
-               foreach ($structure["fields"] AS $fieldname => $parameters) {
-                       echo "\t\t\t\t\t".'"'.$fieldname.'" => array(';
-
-                       $data = "";
-                       foreach ($parameters AS $name => $value) {
-                               if ($data != "")
-                                       $data .= ", ";
-                               $data .= '"'.$name.'" => "'.$value.'"';
-                       }
-
-                       echo $data."),\n";
-               }
-               echo "\t\t\t\t\t),\n";
-               echo "\t\t\t".'"indexes" => array('."\n";
-               foreach ($structure["indexes"] AS $indexname => $fieldnames) {
-                       echo "\t\t\t\t\t".'"'.$indexname.'" => array("'.implode($fieldnames, '","').'"'."),\n";
-               }
-               echo "\t\t\t\t\t)\n";
-               echo "\t\t\t);\n";
+               echo "\n";
        }
 }
 
@@ -243,7 +231,7 @@ function db_field_command($parameters, $create = true) {
        return($fieldstruct);
 }
 
-function db_create_table($name, $fields, $verbose, $action) {
+function db_create_table($name, $fields, $verbose, $action, $indexes=null) {
        global $a, $db;
 
        $r = true;
@@ -253,7 +241,13 @@ function db_create_table($name, $fields, $verbose, $action) {
                if ($sql != "")
                        $sql .= ",\n";
 
-               $sql .= "`".dbesc($fieldname)."` ".db_field_command($field);
+               $sql .= "\t`".dbesc($fieldname)."` ".db_field_command($field);
+       }
+
+       if (!is_null($indexes)) {
+               foreach ($indexes AS $indexname => $fieldnames) {
+                       $sql .= "\t".db_create_index($indexname, $fieldnames, "")."\n";
+               }
        }
 
        $sql = sprintf("CREATE TABLE IF NOT EXISTS `%s` (\n", dbesc($name)).$sql."\n) DEFAULT CHARSET=utf8";
@@ -282,7 +276,7 @@ function db_drop_index($indexname) {
        return($sql);
 }
 
-function db_create_index($indexname, $fieldnames) {
+function db_create_index($indexname, $fieldnames, $method="ADD") {
 
        if ($indexname == "PRIMARY")
                return;
@@ -298,7 +292,13 @@ function db_create_index($indexname, $fieldnames) {
                        $names .= "`".dbesc($fieldname)."`";
        }
 
-       $sql = sprintf("ADD INDEX `%s` (%s)", dbesc($indexname), $names);
+       $method = strtoupper(trim($method));
+       if ($method!="" && $method!="ADD") {
+               throw new Exception("Invalid parameter 'method' in db_create_index(): '$method'");
+               killme();
+       }
+
+       $sql = sprintf("%s INDEX `%s` (%s)", $method, dbesc($indexname), $names);
        return($sql);
 }
 
@@ -1357,7 +1357,29 @@ function dbstructure_run(&$argv, &$argc) {
                        unset($db_host, $db_user, $db_pass, $db_data);
        }
 
-       update_structure(true, true);
+       if ($argc==2) {
+               switch ($argv[1]) {
+                       case "update":
+                               update_structure(true, true);
+                               return;
+                       case "dumpsql":
+                               print_structure(db_definition());
+                               return;
+               }
+       }
+
+
+       // print help
+       echo $argv[0]." <command>\n";
+       echo "\n";
+       echo "commands:\n";
+       echo "update            update database schema\n";
+       echo "dumpsql           dump database schema\n";
+       return;
+
+
+
+
 }
 
 if (array_search(__file__,get_included_files())===0){