aboutsummaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
Diffstat (limited to 'install')
-rw-r--r--install/INSTALL.txt46
-rwxr-xr-xinstall/htconfig.sample.php8
-rw-r--r--install/sample-nginx.conf2
-rw-r--r--install/schema_mysql.sql1279
-rw-r--r--install/schema_postgres.sql331
-rw-r--r--install/update.php555
6 files changed, 1560 insertions, 661 deletions
diff --git a/install/INSTALL.txt b/install/INSTALL.txt
index 7d4ed9534..88269f032 100644
--- a/install/INSTALL.txt
+++ b/install/INSTALL.txt
@@ -7,14 +7,14 @@ such as XAMPP and WAMP are not officially supported at this time - however
we welcome patches if you manage to get it working.
Be aware that this software is more than a simple web application. It is a
-complex communications system which more closely resembles an email server
-than a web server. For reliability and performance, messages are delivered in
-the background and are queued for later delivery when sites are down. This
-kind of functionality requires a bit more of the host system than the typical
-blog. Not every PHP/MySQL hosting provider will be able to support the
-Hubzilla. Many will - but please review the requirements and confirm these
-with your hosting provider prior to installation. (And preferably before
-entering into a long-term contract.)
+complex communications and content management system which more closely
+resembles an email server than a web server. For reliability and performance,
+messages are delivered in the background and are queued for later delivery
+when sites are down. This kind of functionality requires a bit more of the
+host system than the typical blog. Not every PHP/MySQL hosting provider will
+be able to support Hubzilla. Many will - but please review the requirements
+and confirm these with your hosting provider prior to installation. (And
+preferably before entering into a long-term contract.)
If you encounter installation issues, please let us know via the Github issue
tracker where you downloaded the software. Please be as clear as
@@ -75,27 +75,6 @@ location may prevent some of these services from working correctly. This
should not be a problem with Apache, but may be an issue with nginx or other
web server platforms.
-**Server Roles**
-
-During installation you will be asked to choose a server role. Your choices are
-1. Basic
-2. Standard
-3. Pro
-
-Basic is highly simplified, with almost all the advanced functionality and
-complexity removed or permanently disabled.
-
-Standard is typically used for federated network use, when you wish to interact
-with other networks using other protocols. Not all the built in features and
-functionality work correctly when other networks are involved. All advanced
-and complex features are available to all members by default.
-
-Pro is for sites that wish to make full use of the built-in abilities and
-features, but **not** to interact with other networks. Advanced features are
-enabled according to a per-account 'techlevel' which reduces complexity
-initially and allows members to adjust the software complexity to match their
-technical abilities.
-
**Installation**
1. Requirements
@@ -104,19 +83,19 @@ technical abilities.
Example config scripts are available for these platforms in the install
directory. Apache and nginx have the most support.
- - PHP 5.5 or later.
+ - PHP 5.6 or later.
- PHP *command line* access with register_argc_argv set to true in the
php.ini file - and with no hosting provider restrictions on the use of
exec() and proc_open().
- - curl, gd (with at least jpeg and png support), mysqli, mbstring, xml,
+ - curl, gd (with at least jpeg and png support), mysqli, mbstring, xml, zip
and openssl extensions. The imagick extension MAY be used instead of gd,
but is not required and MAY also be disabled via configuration option.
- some form of email server or email gateway such that PHP mail() works.
- - Mysql 5.x or MariaDB or postgres database server.
+ - Mysql 5.5.3 or later or MariaDB or postgres database server.
- ability to schedule jobs with cron.
@@ -173,7 +152,8 @@ technical abilities.
cd mywebsite
util/update_addon_repo hzaddons
- - Create searchable representations of the online documentation. You may do this any time
+ - Once the software is configured and the database installed, create searchable
+ representations of the online documentation. You may do this any time
that the documentation is updated.
cd mywebsite
diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php
index f37b3dc79..07725e3f4 100755
--- a/install/htconfig.sample.php
+++ b/install/htconfig.sample.php
@@ -44,14 +44,6 @@ App::$config['system']['sitename'] = "Hubzilla";
App::$config['system']['location_hash'] = 'if the auto install failed, put a unique random string here';
-// Choices are 'basic', 'standard', and 'pro'.
-// basic sets up the sevrer for basic social networking and removes "complicated" features
-// standard provides most desired features except e-commerce
-// pro gives you access to everything, but removes cross-platform federation/emulation
-
-App::$config['system']['server_role'] = 'standard';
-
-
// These lines set additional security headers to be sent with all responses
// You may wish to set transport_security_header to 0 if your server already sends
// this header. content_security_policy may need to be disabled if you wish to
diff --git a/install/sample-nginx.conf b/install/sample-nginx.conf
index 85178596a..4121ff2ec 100644
--- a/install/sample-nginx.conf
+++ b/install/sample-nginx.conf
@@ -56,7 +56,7 @@ server {
ssl_certificate_key /etc/nginx/ssl/example.net.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-RSA-AES256-SHA256:!DHE-RSA-CAMELLIA128-SHA:!DHE-RSA-CAMELLIA256-SHA;
+ ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;
ssl_prefer_server_ciphers on;
fastcgi_param HTTPS on;
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index be5317722..afa3c095d 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -1,43 +1,44 @@
CREATE TABLE IF NOT EXISTS `abconfig` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `chan` int(10) unsigned NOT NULL DEFAULT '0',
- `xchan` char(255) NOT NULL DEFAULT '',
- `cat` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
+ `chan` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `xchan` char(191) NOT NULL DEFAULT '',
+ `cat` char(191) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `chan` (`chan`),
KEY `xchan` (`xchan`),
KEY `cat` (`cat`),
KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `abook` (
`abook_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `abook_account` int(10) unsigned NOT NULL DEFAULT '0',
- `abook_channel` int(10) unsigned NOT NULL DEFAULT '0',
- `abook_xchan` char(255) NOT NULL DEFAULT '',
- `abook_my_perms` int(11) NOT NULL DEFAULT '0',
- `abook_their_perms` int(11) NOT NULL DEFAULT '0',
- `abook_closeness` tinyint(3) unsigned NOT NULL DEFAULT '99',
+ `abook_account` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `abook_channel` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `abook_xchan` char(191) NOT NULL DEFAULT '',
+ `abook_my_perms` int(11) NOT NULL DEFAULT 0 ,
+ `abook_their_perms` int(11) NOT NULL DEFAULT 0 ,
+ `abook_closeness` tinyint(3) unsigned NOT NULL DEFAULT 99,
`abook_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`abook_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`abook_connected` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`abook_dob` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `abook_flags` int(11) NOT NULL DEFAULT '0',
- `abook_blocked` tinyint(4) NOT NULL DEFAULT '0',
- `abook_ignored` tinyint(4) NOT NULL DEFAULT '0',
- `abook_hidden` tinyint(4) NOT NULL DEFAULT '0',
- `abook_archived` tinyint(4) NOT NULL DEFAULT '0',
- `abook_pending` tinyint(4) NOT NULL DEFAULT '0',
- `abook_unconnected` tinyint(4) NOT NULL DEFAULT '0',
- `abook_self` tinyint(4) NOT NULL DEFAULT '0',
- `abook_feed` tinyint(4) NOT NULL DEFAULT '0',
- `abook_profile` char(64) NOT NULL DEFAULT '',
- `abook_incl` TEXT NOT NULL DEFAULT '',
- `abook_excl` TEXT NOT NULL DEFAULT '',
- `abook_instance` TEXT NOT NULL DEFAULT '',
+ `abook_flags` int(11) NOT NULL DEFAULT 0 ,
+ `abook_blocked` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_ignored` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_hidden` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_archived` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_pending` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_unconnected` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_self` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_feed` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_not_here` tinyint(4) NOT NULL DEFAULT 0 ,
+ `abook_profile` char(191) NOT NULL DEFAULT '',
+ `abook_incl` text NOT NULL,
+ `abook_excl` text NOT NULL,
+ `abook_instance` text NOT NULL,
PRIMARY KEY (`abook_id`),
KEY `abook_account` (`abook_account`),
KEY `abook_channel` (`abook_channel`),
@@ -58,27 +59,28 @@ CREATE TABLE IF NOT EXISTS `abook` (
KEY `abook_pending` (`abook_pending`),
KEY `abook_unconnected` (`abook_unconnected`),
KEY `abook_self` (`abook_self`),
+ KEY `abook_not_here` (`abook_not_here`),
KEY `abook_feed` (`abook_feed`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `account` (
`account_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `account_parent` int(10) unsigned NOT NULL DEFAULT '0',
- `account_default_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `account_parent` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `account_default_channel` int(10) unsigned NOT NULL DEFAULT 0 ,
`account_salt` char(32) NOT NULL DEFAULT '',
- `account_password` char(255) NOT NULL DEFAULT '',
- `account_email` char(255) NOT NULL DEFAULT '',
- `account_external` char(255) NOT NULL DEFAULT '',
+ `account_password` char(191) NOT NULL DEFAULT '',
+ `account_email` char(191) NOT NULL DEFAULT '',
+ `account_external` char(191) NOT NULL DEFAULT '',
`account_language` char(16) NOT NULL DEFAULT 'en',
`account_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`account_lastlog` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `account_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `account_roles` int(10) unsigned NOT NULL DEFAULT '0',
- `account_reset` char(255) NOT NULL DEFAULT '',
+ `account_flags` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `account_roles` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `account_reset` char(191) NOT NULL DEFAULT '',
`account_expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`account_expire_notified` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`account_service_class` char(32) NOT NULL DEFAULT '',
- `account_level` int(10) unsigned NOT NULL DEFAULT '0',
+ `account_level` int(10) unsigned NOT NULL DEFAULT 0 ,
`account_password_changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`account_id`),
KEY `account_email` (`account_email`),
@@ -92,40 +94,40 @@ CREATE TABLE IF NOT EXISTS `account` (
KEY `account_external` (`account_external`),
KEY `account_level` (`account_level`),
KEY `account_password_changed` (`account_password_changed`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `addon` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `aname` char(255) NOT NULL DEFAULT '',
- `version` char(255) NOT NULL DEFAULT '',
- `installed` tinyint(1) NOT NULL DEFAULT '0',
- `hidden` tinyint(1) NOT NULL DEFAULT '0',
- `tstamp` bigint(20) NOT NULL DEFAULT '0',
- `plugin_admin` tinyint(1) NOT NULL DEFAULT '0',
+ `aname` char(191) NOT NULL DEFAULT '',
+ `version` char(191) NOT NULL DEFAULT '',
+ `installed` tinyint(1) NOT NULL DEFAULT 0 ,
+ `hidden` tinyint(1) NOT NULL DEFAULT 0 ,
+ `tstamp` bigint(20) NOT NULL DEFAULT 0 ,
+ `plugin_admin` tinyint(1) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
KEY `hidden` (`hidden`),
KEY `aname` (`aname`),
KEY `installed` (`installed`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `app` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `app_id` char(255) NOT NULL DEFAULT '',
- `app_sig` char(255) NOT NULL DEFAULT '',
- `app_author` char(255) NOT NULL DEFAULT '',
- `app_name` char(255) NOT NULL DEFAULT '',
- `app_desc` text NOT NULL DEFAULT '',
- `app_url` char(255) NOT NULL DEFAULT '',
- `app_photo` char(255) NOT NULL DEFAULT '',
- `app_version` char(255) NOT NULL DEFAULT '',
- `app_channel` int(11) NOT NULL DEFAULT '0',
- `app_addr` char(255) NOT NULL DEFAULT '',
- `app_price` char(255) NOT NULL DEFAULT '',
- `app_page` char(255) NOT NULL DEFAULT '',
- `app_requires` char(255) NOT NULL DEFAULT '',
- `app_deleted` int(11) NOT NULL DEFAULT '0',
- `app_system` int(11) NOT NULL DEFAULT '0',
- `app_plugin` char(255) NOT NULL DEFAULT '',
+ `app_id` char(191) NOT NULL DEFAULT '',
+ `app_sig` char(191) NOT NULL DEFAULT '',
+ `app_author` char(191) NOT NULL DEFAULT '',
+ `app_name` char(191) NOT NULL DEFAULT '',
+ `app_desc` text NOT NULL,
+ `app_url` char(191) NOT NULL DEFAULT '',
+ `app_photo` char(191) NOT NULL DEFAULT '',
+ `app_version` char(191) NOT NULL DEFAULT '',
+ `app_channel` int(11) NOT NULL DEFAULT 0 ,
+ `app_addr` char(191) NOT NULL DEFAULT '',
+ `app_price` char(191) NOT NULL DEFAULT '',
+ `app_page` char(191) NOT NULL DEFAULT '',
+ `app_requires` char(191) NOT NULL DEFAULT '',
+ `app_deleted` int(11) NOT NULL DEFAULT 0 ,
+ `app_system` int(11) NOT NULL DEFAULT 0 ,
+ `app_plugin` char(191) NOT NULL DEFAULT '',
`app_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`app_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`id`),
@@ -140,15 +142,15 @@ CREATE TABLE IF NOT EXISTS `app` (
KEY `app_deleted` (`app_deleted`),
KEY `app_system` (`app_system`),
KEY `app_edited` (`app_edited`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `atoken` (
`atoken_id` int(11) NOT NULL AUTO_INCREMENT,
- `atoken_aid` int(11) NOT NULL DEFAULT 0,
- `atoken_uid` int(11) NOT NULL DEFAULT 0,
- `atoken_name` char(255) NOT NULL DEFAULT '',
- `atoken_token` char(255) NOT NULL DEFAULT '',
+ `atoken_aid` int(11) NOT NULL DEFAULT 0 ,
+ `atoken_uid` int(11) NOT NULL DEFAULT 0 ,
+ `atoken_name` char(191) NOT NULL DEFAULT '',
+ `atoken_token` char(191) NOT NULL DEFAULT '',
`atoken_expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`atoken_id`),
KEY `atoken_aid` (`atoken_aid`),
@@ -157,23 +159,23 @@ CREATE TABLE IF NOT EXISTS `atoken` (
KEY `atoken_name` (`atoken_name`),
KEY `atoken_token` (`atoken_token`),
KEY `atoken_expires` (`atoken_expires`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `attach` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `hash` char(64) NOT NULL DEFAULT '',
- `creator` char(128) NOT NULL DEFAULT '',
- `filename` char(255) NOT NULL DEFAULT '',
- `filetype` char(64) NOT NULL DEFAULT '',
- `filesize` int(10) unsigned NOT NULL DEFAULT '0',
- `revision` int(10) unsigned NOT NULL DEFAULT '0',
- `folder` char(64) NOT NULL DEFAULT '',
- `flags` int(10) unsigned NOT NULL DEFAULT '0',
- `is_dir` tinyint(1) NOT NULL DEFAULT '0',
- `is_photo` tinyint(1) NOT NULL DEFAULT '0',
- `os_storage` tinyint(1) NOT NULL DEFAULT '0',
+ `aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `hash` char(191) NOT NULL DEFAULT '',
+ `creator` char(191) NOT NULL DEFAULT '',
+ `filename` char(191) NOT NULL DEFAULT '',
+ `filetype` char(191) NOT NULL DEFAULT '',
+ `filesize` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `revision` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `folder` char(191) NOT NULL DEFAULT '',
+ `flags` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `is_dir` tinyint(1) NOT NULL DEFAULT 0 ,
+ `is_photo` tinyint(1) NOT NULL DEFAULT 0 ,
+ `os_storage` tinyint(1) NOT NULL DEFAULT 0 ,
`os_path` mediumtext NOT NULL,
`display_path` mediumtext NOT NULL,
`content` longblob NOT NULL,
@@ -199,96 +201,98 @@ CREATE TABLE IF NOT EXISTS `attach` (
KEY `is_dir` (`is_dir`),
KEY `is_photo` (`is_photo`),
KEY `os_storage` (`os_storage`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `auth_codes` (
`id` varchar(40) NOT NULL DEFAULT '',
`client_id` varchar(20) NOT NULL DEFAULT '',
`redirect_uri` varchar(200) NOT NULL DEFAULT '',
- `expires` int(11) NOT NULL DEFAULT '0',
+ `expires` int(11) NOT NULL DEFAULT 0 ,
`auth_scope` varchar(512) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `cache` (
- `k` char(255) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` text NOT NULL,
`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `cal` (
`cal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cal_aid` int(10) unsigned NOT NULL DEFAULT '0',
- `cal_uid` int(10) unsigned NOT NULL DEFAULT '0',
- `cal_hash` varchar(255) NOT NULL DEFAULT '',
- `cal_name` varchar(255) NOT NULL DEFAULT '',
- `uri` varchar(255) NOT NULL DEFAULT '',
- `logname` varchar(255) NOT NULL DEFAULT '',
- `pass` varchar(255) NOT NULL DEFAULT '',
- `ctag` varchar(255) NOT NULL DEFAULT '',
- `synctoken` varchar(255) NOT NULL DEFAULT '',
- `cal_types` varchar(255) NOT NULL DEFAULT '',
+ `cal_aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `cal_uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `cal_hash` varchar(191) NOT NULL DEFAULT '',
+ `cal_name` varchar(191) NOT NULL DEFAULT '',
+ `uri` varchar(191) NOT NULL DEFAULT '',
+ `logname` varchar(191) NOT NULL DEFAULT '',
+ `pass` varchar(191) NOT NULL DEFAULT '',
+ `ctag` varchar(191) NOT NULL DEFAULT '',
+ `synctoken` varchar(191) NOT NULL DEFAULT '',
+ `cal_types` varchar(191) NOT NULL DEFAULT '',
PRIMARY KEY (`cal_id`),
KEY `cal_aid` (`cal_aid`),
KEY `cal_uid` (`cal_uid`),
KEY `cal_hash` (`cal_hash`),
KEY `cal_name` (`cal_name`),
KEY `cal_types` (`cal_types`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `channel` (
`channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_primary` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `channel_name` char(255) NOT NULL DEFAULT '',
- `channel_address` char(255) NOT NULL DEFAULT '',
- `channel_guid` char(255) NOT NULL DEFAULT '',
+ `channel_account_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_primary` tinyint(1) unsigned NOT NULL DEFAULT 0 ,
+ `channel_name` char(191) NOT NULL DEFAULT '',
+ `channel_address` char(191) NOT NULL DEFAULT '',
+ `channel_guid` char(191) NOT NULL DEFAULT '',
`channel_guid_sig` text NOT NULL,
- `channel_hash` char(255) NOT NULL DEFAULT '',
+ `channel_hash` char(191) NOT NULL DEFAULT '',
`channel_timezone` char(128) NOT NULL DEFAULT 'UTC',
- `channel_location` char(255) NOT NULL DEFAULT '',
- `channel_theme` char(255) NOT NULL DEFAULT '',
- `channel_startpage` char(255) NOT NULL DEFAULT '',
+ `channel_location` char(191) NOT NULL DEFAULT '',
+ `channel_theme` char(191) NOT NULL DEFAULT '',
+ `channel_startpage` char(191) NOT NULL DEFAULT '',
`channel_pubkey` text NOT NULL,
`channel_prvkey` text NOT NULL,
- `channel_notifyflags` int(10) unsigned NOT NULL DEFAULT '65535',
- `channel_pageflags` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_notifyflags` int(10) unsigned NOT NULL DEFAULT 65535,
+ `channel_pageflags` int(10) unsigned NOT NULL DEFAULT 0 ,
`channel_dirdate` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_lastpost` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_deleted` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT '10',
- `channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT '10',
- `channel_expire_days` int(11) NOT NULL DEFAULT '0',
- `channel_passwd_reset` char(255) NOT NULL DEFAULT '',
- `channel_default_group` char(255) NOT NULL DEFAULT '',
+ `channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT 10,
+ `channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT 10,
+ `channel_expire_days` int(11) NOT NULL DEFAULT 0 ,
+ `channel_passwd_reset` char(191) NOT NULL DEFAULT '',
+ `channel_default_group` char(191) NOT NULL DEFAULT '',
`channel_allow_cid` mediumtext NOT NULL,
`channel_allow_gid` mediumtext NOT NULL,
`channel_deny_cid` mediumtext NOT NULL,
`channel_deny_gid` mediumtext NOT NULL,
- `channel_r_stream` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_r_profile` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_r_photos` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_r_abook` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_stream` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_wall` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_tagwall` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_comment` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_mail` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_photos` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_chat` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_a_delegate` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_r_storage` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_storage` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_r_pages` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_pages` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_a_republish` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_w_like` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_removed` tinyint(1) NOT NULL DEFAULT '0',
- `channel_system` tinyint(1) NOT NULL DEFAULT '0',
- `channel_moved` char(255) NOT NULL DEFAULT '',
+ `channel_r_stream` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_r_profile` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_r_photos` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_r_abook` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_stream` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_wall` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_tagwall` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_comment` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_mail` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_photos` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_chat` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_a_delegate` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_r_storage` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_storage` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_r_pages` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_pages` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_a_republish` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_w_like` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_removed` tinyint(1) NOT NULL DEFAULT 0 ,
+ `channel_system` tinyint(1) NOT NULL DEFAULT 0 ,
+ `channel_moved` char(191) NOT NULL DEFAULT '',
+ `channel_password` varchar(191) NOT NULL,
+ `channel_salt` varchar(191) NOT NULL,
PRIMARY KEY (`channel_id`),
- UNIQUE KEY `channel_address_unique` (`channel_address`),
+ KEY `channel_address` (`channel_address`),
KEY `channel_account_id` (`channel_account_id`),
KEY `channel_primary` (`channel_primary`),
KEY `channel_name` (`channel_name`),
@@ -300,69 +304,51 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_max_anon_mail` (`channel_max_anon_mail`),
KEY `channel_max_friend_req` (`channel_max_friend_req`),
KEY `channel_default_gid` (`channel_default_group`),
- KEY `channel_r_stream` (`channel_r_stream`),
- KEY `channel_r_profile` (`channel_r_profile`),
- KEY `channel_r_photos` (`channel_r_photos`),
- KEY `channel_r_abook` (`channel_r_abook`),
- KEY `channel_w_stream` (`channel_w_stream`),
- KEY `channel_w_wall` (`channel_w_wall`),
- KEY `channel_w_tagwall` (`channel_w_tagwall`),
- KEY `channel_w_comment` (`channel_w_comment`),
- KEY `channel_w_mail` (`channel_w_mail`),
- KEY `channel_w_photos` (`channel_w_photos`),
- KEY `channel_w_chat` (`channel_w_chat`),
KEY `channel_guid` (`channel_guid`),
KEY `channel_hash` (`channel_hash`),
KEY `channel_expire_days` (`channel_expire_days`),
- KEY `channel_a_delegate` (`channel_a_delegate`),
- KEY `channel_r_storage` (`channel_r_storage`),
- KEY `channel_w_storage` (`channel_w_storage`),
- KEY `channel_r_pages` (`channel_r_pages`),
- KEY `channel_w_pages` (`channel_w_pages`),
KEY `channel_deleted` (`channel_deleted`),
- KEY `channel_a_republish` (`channel_a_republish`),
KEY `channel_dirdate` (`channel_dirdate`),
- KEY `channel_w_like` (`channel_w_like`),
KEY `channel_removed` (`channel_removed`),
KEY `channel_system` (`channel_system`),
KEY `channel_lastpost` (`channel_lastpost`),
KEY `channel_moved` (`channel_moved`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `chat` (
`chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `chat_room` int(10) unsigned NOT NULL DEFAULT '0',
- `chat_xchan` char(255) NOT NULL DEFAULT '',
+ `chat_room` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `chat_xchan` char(191) NOT NULL DEFAULT '',
`chat_text` mediumtext NOT NULL,
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`chat_id`),
KEY `chat_room` (`chat_room`),
KEY `chat_xchan` (`chat_xchan`),
KEY `created` (`created`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `chatpresence` (
`cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cp_room` int(10) unsigned NOT NULL DEFAULT '0',
- `cp_xchan` char(255) NOT NULL DEFAULT '',
+ `cp_room` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `cp_xchan` char(191) NOT NULL DEFAULT '',
`cp_last` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `cp_status` char(255) NOT NULL DEFAULT '',
+ `cp_status` char(191) NOT NULL DEFAULT '',
`cp_client` char(128) NOT NULL DEFAULT '',
PRIMARY KEY (`cp_id`),
KEY `cp_room` (`cp_room`),
KEY `cp_xchan` (`cp_xchan`),
KEY `cp_last` (`cp_last`),
KEY `cp_status` (`cp_status`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `chatroom` (
`cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
- `cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
- `cr_name` char(255) NOT NULL DEFAULT '',
+ `cr_aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `cr_uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `cr_name` char(191) NOT NULL DEFAULT '',
`cr_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`cr_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `cr_expire` int(10) unsigned NOT NULL DEFAULT '0',
+ `cr_expire` int(10) unsigned NOT NULL DEFAULT 0 ,
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -374,51 +360,51 @@ CREATE TABLE IF NOT EXISTS `chatroom` (
KEY `cr_created` (`cr_created`),
KEY `cr_edited` (`cr_edited`),
KEY `cr_expire` (`cr_expire`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `clients` (
- `client_id` varchar(20) NOT NULL DEFAULT '',
- `pw` varchar(20) NOT NULL DEFAULT '',
+ `client_id` varchar(191) NOT NULL DEFAULT '',
+ `pw` varchar(191) NOT NULL DEFAULT '',
`redirect_uri` varchar(200) NOT NULL DEFAULT '',
`clname` text,
`icon` text,
- `uid` int(11) NOT NULL DEFAULT '0',
+ `uid` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`client_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `config` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cat` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
- `k` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `cat` char(191) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `access` (`cat`,`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `conv` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `guid` char(255) NOT NULL DEFAULT '',
+ `guid` char(191) NOT NULL DEFAULT '',
`recips` mediumtext NOT NULL,
- `uid` int(11) NOT NULL DEFAULT '0',
- `creator` char(255) NOT NULL DEFAULT '',
+ `uid` int(11) NOT NULL DEFAULT 0 ,
+ `creator` char(191) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`subject` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `created` (`created`),
KEY `updated` (`updated`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `dreport` (
`dreport_id` int(11) NOT NULL AUTO_INCREMENT,
- `dreport_channel` int(11) NOT NULL DEFAULT '0',
- `dreport_mid` char(255) NOT NULL DEFAULT '',
- `dreport_site` char(255) NOT NULL DEFAULT '',
- `dreport_recip` char(255) NOT NULL DEFAULT '',
- `dreport_result` char(255) NOT NULL DEFAULT '',
+ `dreport_channel` int(11) NOT NULL DEFAULT 0 ,
+ `dreport_mid` char(191) NOT NULL DEFAULT '',
+ `dreport_site` char(191) NOT NULL DEFAULT '',
+ `dreport_recip` char(191) NOT NULL DEFAULT '',
+ `dreport_result` char(191) NOT NULL DEFAULT '',
`dreport_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `dreport_xchan` char(255) NOT NULL DEFAULT '',
- `dreport_queue` char(255) NOT NULL DEFAULT '',
+ `dreport_xchan` char(191) NOT NULL DEFAULT '',
+ `dreport_queue` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`dreport_id`),
KEY `dreport_mid` (`dreport_mid`),
KEY `dreport_site` (`dreport_site`),
@@ -426,15 +412,15 @@ CREATE TABLE IF NOT EXISTS `dreport` (
KEY `dreport_xchan` (`dreport_xchan`),
KEY `dreport_queue` (`dreport_queue`),
KEY `dreport_channel` (`dreport_channel`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(11) NOT NULL DEFAULT '0',
- `cal_id` int(11) unsigned NOT NULL DEFAULT '0',
- `event_xchan` char(255) NOT NULL DEFAULT '',
- `event_hash` char(255) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `uid` int(11) NOT NULL DEFAULT 0 ,
+ `cal_id` int(11) unsigned NOT NULL DEFAULT 0 ,
+ `event_xchan` char(191) NOT NULL DEFAULT '',
+ `event_hash` char(191) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`dtstart` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -442,20 +428,20 @@ CREATE TABLE IF NOT EXISTS `event` (
`summary` text NOT NULL,
`description` text NOT NULL,
`location` text NOT NULL,
- `etype` char(255) NOT NULL DEFAULT '',
- `nofinish` tinyint(1) NOT NULL DEFAULT '0',
- `adjust` tinyint(1) NOT NULL DEFAULT '1',
- `dismissed` tinyint(1) NOT NULL DEFAULT '0',
+ `etype` char(191) NOT NULL DEFAULT '',
+ `nofinish` tinyint(1) NOT NULL DEFAULT 0 ,
+ `adjust` tinyint(1) NOT NULL DEFAULT 1,
+ `dismissed` 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,
- `event_status` char(255) NOT NULL DEFAULT '',
+ `event_status` char(191) NOT NULL DEFAULT '',
`event_status_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `event_percent` smallint(6) NOT NULL DEFAULT '0',
+ `event_percent` smallint(6) NOT NULL DEFAULT 0 ,
`event_repeat` text NOT NULL,
- `event_sequence` smallint(6) NOT NULL DEFAULT '0',
- `event_priority` smallint(6) NOT NULL DEFAULT '0',
+ `event_sequence` smallint(6) NOT NULL DEFAULT 0 ,
+ `event_priority` smallint(6) NOT NULL DEFAULT 0 ,
`event_vdata` text NOT NULL,
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
@@ -472,71 +458,72 @@ CREATE TABLE IF NOT EXISTS `event` (
KEY `event_status` (`event_status`),
KEY `event_sequence` (`event_sequence`),
KEY `event_priority` (`event_priority`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `hash` char(255) NOT NULL DEFAULT '',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `visible` tinyint(1) NOT NULL DEFAULT '0',
- `deleted` tinyint(1) NOT NULL DEFAULT '0',
- `gname` char(255) NOT NULL DEFAULT '',
+ `hash` char(191) NOT NULL DEFAULT '',
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `visible` tinyint(1) NOT NULL DEFAULT 0 ,
+ `deleted` tinyint(1) NOT NULL DEFAULT 0 ,
+ `gname` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `visible` (`visible`),
KEY `deleted` (`deleted`),
KEY `hash` (`hash`),
KEY `gname` (`gname`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `group_member` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `gid` int(10) unsigned NOT NULL DEFAULT '0',
- `xchan` char(255) NOT NULL DEFAULT '',
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `gid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `xchan` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `gid` (`gid`),
KEY `xchan` (`xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `hook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `hook` char(255) NOT NULL DEFAULT '',
- `file` char(255) NOT NULL DEFAULT '',
- `fn` char(255) NOT NULL DEFAULT '',
- `priority` smallint NOT NULL DEFAULT '0',
- `hook_version` int(11) NOT NULL DEFAULT '0',
+ `hook` char(191) NOT NULL DEFAULT '',
+ `file` char(191) NOT NULL DEFAULT '',
+ `fn` char(191) NOT NULL DEFAULT '',
+ `priority` smallint NOT NULL DEFAULT 0 ,
+ `hook_version` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
KEY `hook` (`hook`),
KEY `priority` (`priority`),
KEY `hook_version` (`hook_version`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `hubloc` (
`hubloc_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `hubloc_guid` char(255) NOT NULL DEFAULT '',
+ `hubloc_guid` char(191) NOT NULL DEFAULT '',
`hubloc_guid_sig` text NOT NULL,
- `hubloc_hash` char(255) NOT NULL DEFAULT '',
- `hubloc_addr` char(255) NOT NULL DEFAULT '',
+ `hubloc_hash` char(191) NOT NULL DEFAULT '',
+ `hubloc_addr` char(191) NOT NULL DEFAULT '',
`hubloc_network` char(32) NOT NULL DEFAULT '',
- `hubloc_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `hubloc_status` int(10) unsigned NOT NULL DEFAULT '0',
- `hubloc_url` char(255) NOT NULL DEFAULT '',
+ `hubloc_flags` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `hubloc_status` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `hubloc_url` char(191) NOT NULL DEFAULT '',
`hubloc_url_sig` text NOT NULL,
- `hubloc_host` char(255) NOT NULL DEFAULT '',
- `hubloc_callback` char(255) NOT NULL DEFAULT '',
- `hubloc_connect` char(255) NOT NULL DEFAULT '',
+ `hubloc_host` char(191) NOT NULL DEFAULT '',
+ `hubloc_callback` char(191) NOT NULL DEFAULT '',
+ `hubloc_connect` char(191) NOT NULL DEFAULT '',
`hubloc_sitekey` text NOT NULL,
`hubloc_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`hubloc_connected` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `hubloc_primary` tinyint(1) NOT NULL DEFAULT '0',
- `hubloc_orphancheck` tinyint(1) NOT NULL DEFAULT '0',
- `hubloc_error` tinyint(1) NOT NULL DEFAULT '0',
- `hubloc_deleted` tinyint(1) NOT NULL DEFAULT '0',
+ `hubloc_primary` tinyint(1) NOT NULL DEFAULT 0 ,
+ `hubloc_orphancheck` tinyint(1) NOT NULL DEFAULT 0 ,
+ `hubloc_error` tinyint(1) NOT NULL DEFAULT 0 ,
+ `hubloc_deleted` tinyint(1) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`hubloc_id`),
KEY `hubloc_url` (`hubloc_url`),
KEY `hubloc_guid` (`hubloc_guid`),
+ KEY `hubloc_hash` (`hubloc_hash`),
KEY `hubloc_flags` (`hubloc_flags`),
KEY `hubloc_connect` (`hubloc_connect`),
KEY `hubloc_host` (`hubloc_host`),
@@ -549,31 +536,31 @@ CREATE TABLE IF NOT EXISTS `hubloc` (
KEY `hubloc_orphancheck` (`hubloc_orphancheck`),
KEY `hubloc_deleted` (`hubloc_deleted`),
KEY `hubloc_error` (`hubloc_error`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `iconfig` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `iid` int(11) NOT NULL DEFAULT '0',
- `cat` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
+ `iid` int(11) NOT NULL DEFAULT 0 ,
+ `cat` char(191) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL,
- `sharing` int(11) NOT NULL DEFAULT '0',
+ `sharing` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
KEY `iid` (`iid`),
KEY `cat` (`cat`),
KEY `k` (`k`),
KEY `sharing` (`sharing`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `issue` (
`issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`issue_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`issue_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `issue_assigned` char(255) NOT NULL DEFAULT '',
- `issue_priority` int(11) NOT NULL DEFAULT '0',
- `issue_status` int(11) NOT NULL DEFAULT '0',
- `issue_component` char(255) NOT NULL DEFAULT '',
+ `issue_assigned` char(191) NOT NULL DEFAULT '',
+ `issue_priority` int(11) NOT NULL DEFAULT 0 ,
+ `issue_status` int(11) NOT NULL DEFAULT 0 ,
+ `issue_component` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`issue_id`),
KEY `issue_created` (`issue_created`),
KEY `issue_updated` (`issue_updated`),
@@ -581,16 +568,16 @@ CREATE TABLE IF NOT EXISTS `issue` (
KEY `issue_priority` (`issue_priority`),
KEY `issue_status` (`issue_status`),
KEY `issue_component` (`issue_component`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `item` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `parent` int(10) unsigned NOT NULL DEFAULT '0',
- `parent_mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
- `thr_parent` char(255) NOT NULL DEFAULT '',
+ `mid` char(191) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `parent` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `parent_mid` char(191) NOT NULL DEFAULT '',
+ `thr_parent` char(191) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -598,81 +585,84 @@ CREATE TABLE IF NOT EXISTS `item` (
`received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`comments_closed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `owner_xchan` char(255) NOT NULL DEFAULT '',
- `author_xchan` char(255) NOT NULL DEFAULT '',
- `source_xchan` char(255) NOT NULL DEFAULT '',
- `mimetype` char(255) NOT NULL DEFAULT '',
+ `owner_xchan` char(191) NOT NULL DEFAULT '',
+ `author_xchan` char(191) NOT NULL DEFAULT '',
+ `source_xchan` char(191) NOT NULL DEFAULT '',
+ `mimetype` char(191) NOT NULL DEFAULT '',
`title` text NOT NULL,
`body` mediumtext NOT NULL,
`html` mediumtext NOT NULL,
- `app` char(255) NOT NULL DEFAULT '',
+ `app` char(191) NOT NULL DEFAULT '',
`lang` char(64) NOT NULL DEFAULT '',
- `revision` int(10) unsigned NOT NULL DEFAULT '0',
- `verb` char(255) NOT NULL DEFAULT '',
- `obj_type` char(255) NOT NULL DEFAULT '',
+ `revision` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `verb` char(191) NOT NULL DEFAULT '',
+ `obj_type` char(191) NOT NULL DEFAULT '',
`obj` text NOT NULL,
- `tgt_type` char(255) NOT NULL DEFAULT '',
+ `tgt_type` char(191) NOT NULL DEFAULT '',
`target` text NOT NULL,
- `layout_mid` char(255) NOT NULL DEFAULT '',
+ `layout_mid` char(191) NOT NULL DEFAULT '',
`postopts` text NOT NULL,
`route` text NOT NULL,
- `llink` char(255) NOT NULL DEFAULT '',
- `plink` char(255) NOT NULL DEFAULT '',
- `resource_id` char(255) NOT NULL DEFAULT '',
+ `llink` char(191) NOT NULL DEFAULT '',
+ `plink` char(191) NOT NULL DEFAULT '',
+ `resource_id` char(191) NOT NULL DEFAULT '',
`resource_type` char(16) NOT NULL DEFAULT '',
`attach` mediumtext NOT NULL,
`sig` text NOT NULL,
`diaspora_meta` mediumtext NOT NULL,
- `location` char(255) NOT NULL DEFAULT '',
- `coord` char(255) NOT NULL DEFAULT '',
- `public_policy` char(255) NOT NULL DEFAULT '',
- `comment_policy` char(255) NOT NULL DEFAULT '',
+ `location` char(191) NOT NULL DEFAULT '',
+ `coord` char(191) NOT NULL DEFAULT '',
+ `public_policy` char(191) NOT NULL DEFAULT '',
+ `comment_policy` char(191) NOT NULL DEFAULT '',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL,
- `item_restrict` int(11) NOT NULL DEFAULT '0',
- `item_flags` int(11) NOT NULL DEFAULT '0',
- `item_private` tinyint(1) NOT NULL DEFAULT '0',
- `item_origin` tinyint(1) NOT NULL DEFAULT '0',
- `item_unseen` tinyint(1) NOT NULL DEFAULT '0',
- `item_starred` tinyint(1) NOT NULL DEFAULT '0',
- `item_uplink` tinyint(1) NOT NULL DEFAULT '0',
- `item_consensus` tinyint(1) NOT NULL DEFAULT '0',
- `item_wall` tinyint(1) NOT NULL DEFAULT '0',
- `item_thread_top` tinyint(1) NOT NULL DEFAULT '0',
- `item_notshown` tinyint(1) NOT NULL DEFAULT '0',
- `item_nsfw` tinyint(1) NOT NULL DEFAULT '0',
- `item_relay` tinyint(1) NOT NULL DEFAULT '0',
- `item_mentionsme` tinyint(1) NOT NULL DEFAULT '0',
- `item_nocomment` tinyint(1) NOT NULL DEFAULT '0',
- `item_obscured` tinyint(1) NOT NULL DEFAULT '0',
- `item_verified` tinyint(1) NOT NULL DEFAULT '0',
- `item_retained` tinyint(1) NOT NULL DEFAULT '0',
- `item_rss` tinyint(1) NOT NULL DEFAULT '0',
- `item_deleted` tinyint(1) NOT NULL DEFAULT '0',
- `item_type` int(11) NOT NULL DEFAULT '0',
- `item_hidden` tinyint(1) NOT NULL DEFAULT '0',
- `item_unpublished` tinyint(1) NOT NULL DEFAULT '0',
- `item_delayed` tinyint(1) NOT NULL DEFAULT '0',
- `item_pending_remove` tinyint(1) NOT NULL DEFAULT '0',
- `item_blocked` tinyint(1) NOT NULL DEFAULT '0',
+ `item_restrict` int(11) NOT NULL DEFAULT 0 ,
+ `item_flags` int(11) NOT NULL DEFAULT 0 ,
+ `item_private` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_origin` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_unseen` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_starred` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_uplink` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_consensus` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_wall` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_thread_top` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_notshown` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_nsfw` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_relay` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_mentionsme` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_nocomment` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_obscured` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_verified` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_retained` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_rss` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_deleted` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_type` int(11) NOT NULL DEFAULT 0 ,
+ `item_hidden` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_unpublished` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_delayed` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_pending_remove` tinyint(1) NOT NULL DEFAULT 0 ,
+ `item_blocked` tinyint(1) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `parent` (`parent`),
KEY `created` (`created`),
KEY `edited` (`edited`),
KEY `received` (`received`),
- KEY `uid_commented` (`uid`,`commented`),
- KEY `uid_created` (`uid`,`created`),
+ KEY `uid_commented` (`uid`, `commented`),
+ KEY `uid_created` (`uid`, `created`),
+ KEY `uid_item_unseen` (`uid`, `item_unseen`),
KEY `aid` (`aid`),
KEY `owner_xchan` (`owner_xchan`),
KEY `author_xchan` (`author_xchan`),
+ KEY `resource_id` (`resource_id`),
KEY `resource_type` (`resource_type`),
KEY `item_restrict` (`item_restrict`),
KEY `item_flags` (`item_flags`),
KEY `commented` (`commented`),
KEY `verb` (`verb`),
+ KEY `obj_type` (`obj_type`),
KEY `item_private` (`item_private`),
KEY `llink` (`llink`),
KEY `expires` (`expires`),
@@ -708,38 +698,32 @@ CREATE TABLE IF NOT EXISTS `item` (
KEY `item_unpublished` (`item_unpublished`),
KEY `item_delayed` (`item_delayed`),
KEY `item_pending_remove` (`item_pending_remove`),
- KEY `item_blocked` (`item_blocked`),
- 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`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+ KEY `item_blocked` (`item_blocked`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `item_id` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `iid` int(11) NOT NULL DEFAULT '0',
- `uid` int(11) NOT NULL DEFAULT '0',
- `sid` char(255) NOT NULL DEFAULT '',
- `service` char(255) NOT NULL DEFAULT '',
+ `iid` int(11) NOT NULL DEFAULT 0 ,
+ `uid` int(11) NOT NULL DEFAULT 0 ,
+ `sid` char(191) NOT NULL DEFAULT '',
+ `service` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `sid` (`sid`),
KEY `service` (`service`),
KEY `iid` (`iid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `likes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `liker` char(128) NOT NULL DEFAULT '',
- `likee` char(128) NOT NULL DEFAULT '',
- `iid` int(11) unsigned NOT NULL DEFAULT '0',
- `i_mid` char(255) NOT NULL DEFAULT '',
- `verb` char(255) NOT NULL DEFAULT '',
- `target_type` char(255) NOT NULL DEFAULT '',
- `target_id` char(128) NOT NULL DEFAULT '',
+ `channel_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `liker` char(191) NOT NULL DEFAULT '',
+ `likee` char(191) NOT NULL DEFAULT '',
+ `iid` int(11) unsigned NOT NULL DEFAULT 0 ,
+ `i_mid` char(191) NOT NULL DEFAULT '',
+ `verb` char(191) NOT NULL DEFAULT '',
+ `target_type` char(191) NOT NULL DEFAULT '',
+ `target_id` char(191) NOT NULL DEFAULT '',
`target` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `liker` (`liker`),
@@ -750,29 +734,31 @@ CREATE TABLE IF NOT EXISTS `likes` (
KEY `target_type` (`target_type`),
KEY `channel_id` (`channel_id`),
KEY `target_id` (`target_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `mail` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `convid` int(10) unsigned NOT NULL DEFAULT '0',
- `conv_guid` char(255) NOT NULL DEFAULT '',
- `mail_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `from_xchan` char(255) NOT NULL DEFAULT '',
- `to_xchan` char(255) NOT NULL DEFAULT '',
- `account_id` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `convid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `conv_guid` char(191) NOT NULL DEFAULT '',
+ `mail_flags` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `from_xchan` char(191) NOT NULL DEFAULT '',
+ `to_xchan` char(191) NOT NULL DEFAULT '',
+ `account_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `channel_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `mail_mimetype` char(64) NOT NULL DEFAULT 'text/bbcode',
`title` text NOT NULL,
`body` mediumtext NOT NULL,
`sig` text NOT NULL,
`attach` mediumtext NOT NULL,
- `mid` char(255) NOT NULL DEFAULT '',
- `parent_mid` char(255) NOT NULL DEFAULT '',
- `mail_deleted` tinyint(4) NOT NULL DEFAULT '0',
- `mail_replied` tinyint(4) NOT NULL DEFAULT '0',
- `mail_isreply` tinyint(4) NOT NULL DEFAULT '0',
- `mail_seen` tinyint(4) NOT NULL DEFAULT '0',
- `mail_recalled` tinyint(4) NOT NULL DEFAULT '0',
- `mail_obscured` smallint(6) NOT NULL DEFAULT '0',
+ `mid` char(191) NOT NULL DEFAULT '',
+ `parent_mid` char(191) NOT NULL DEFAULT '',
+ `mail_deleted` tinyint(4) NOT NULL DEFAULT 0 ,
+ `mail_replied` tinyint(4) NOT NULL DEFAULT 0 ,
+ `mail_isreply` tinyint(4) NOT NULL DEFAULT 0 ,
+ `mail_seen` tinyint(4) NOT NULL DEFAULT 0 ,
+ `mail_recalled` tinyint(4) NOT NULL DEFAULT 0 ,
+ `mail_obscured` smallint(6) NOT NULL DEFAULT 0 ,
+ `mail_raw` tinyint(4) NOT NULL DEFAULT 0 ,
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`id`),
@@ -793,14 +779,14 @@ CREATE TABLE IF NOT EXISTS `mail` (
KEY `mail_seen` (`mail_seen`),
KEY `mail_recalled` (`mail_recalled`),
KEY `mail_obscured` (`mail_obscured`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `menu` (
`menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `menu_name` char(255) NOT NULL DEFAULT '',
- `menu_desc` char(255) NOT NULL DEFAULT '',
- `menu_flags` int(11) NOT NULL DEFAULT '0',
+ `menu_channel_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `menu_name` char(191) NOT NULL DEFAULT '',
+ `menu_desc` char(191) NOT NULL DEFAULT '',
+ `menu_flags` int(11) NOT NULL DEFAULT 0 ,
`menu_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`menu_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`menu_id`),
@@ -809,41 +795,41 @@ CREATE TABLE IF NOT EXISTS `menu` (
KEY `menu_flags` (`menu_flags`),
KEY `menu_created` (`menu_created`),
KEY `menu_edited` (`menu_edited`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `menu_item` (
`mitem_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `mitem_link` char(255) NOT NULL DEFAULT '',
- `mitem_desc` char(255) NOT NULL DEFAULT '',
- `mitem_flags` int(11) NOT NULL DEFAULT '0',
+ `mitem_link` char(191) NOT NULL DEFAULT '',
+ `mitem_desc` char(191) NOT NULL DEFAULT '',
+ `mitem_flags` 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,
- `mitem_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `mitem_menu_id` int(10) unsigned NOT NULL DEFAULT '0',
- `mitem_order` int(11) NOT NULL DEFAULT '0',
+ `mitem_channel_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `mitem_menu_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `mitem_order` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`mitem_id`),
KEY `mitem_channel_id` (`mitem_channel_id`),
KEY `mitem_menu_id` (`mitem_menu_id`),
KEY `mitem_flags` (`mitem_flags`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `notify` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `hash` char(64) NOT NULL DEFAULT '',
- `xname` char(255) NOT NULL DEFAULT '',
- `url` char(255) NOT NULL DEFAULT '',
- `photo` char(255) NOT NULL DEFAULT '',
+ `hash` char(191) NOT NULL DEFAULT '',
+ `xname` char(191) NOT NULL DEFAULT '',
+ `url` char(191) NOT NULL DEFAULT '',
+ `photo` char(191) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`msg` mediumtext NOT NULL,
- `aid` int(11) NOT NULL DEFAULT '0',
- `uid` int(11) NOT NULL DEFAULT '0',
- `link` char(255) NOT NULL DEFAULT '',
- `parent` char(255) NOT NULL DEFAULT '',
- `seen` tinyint(1) NOT NULL DEFAULT '0',
- `ntype` int(11) NOT NULL DEFAULT '0',
- `verb` char(255) NOT NULL DEFAULT '',
+ `aid` int(11) NOT NULL DEFAULT 0 ,
+ `uid` int(11) NOT NULL DEFAULT 0 ,
+ `link` char(191) NOT NULL DEFAULT '',
+ `parent` char(191) NOT NULL DEFAULT '',
+ `seen` tinyint(1) NOT NULL DEFAULT 0 ,
+ `ntype` int(11) NOT NULL DEFAULT 0 ,
+ `verb` char(191) NOT NULL DEFAULT '',
`otype` char(16) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `ntype` (`ntype`),
@@ -855,21 +841,21 @@ CREATE TABLE IF NOT EXISTS `notify` (
KEY `link` (`link`),
KEY `otype` (`otype`),
KEY `aid` (`aid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `obj` (
`obj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`obj_page` char(64) NOT NULL DEFAULT '',
- `obj_verb` char(255) NOT NULL DEFAULT '',
- `obj_type` int(10) unsigned NOT NULL DEFAULT '0',
- `obj_obj` char(255) NOT NULL DEFAULT '',
- `obj_channel` int(10) unsigned NOT NULL DEFAULT '0',
- `obj_term` char(255) NOT NULL DEFAULT '',
- `obj_url` char(255) NOT NULL DEFAULT '',
- `obj_imgurl` char(255) NOT NULL DEFAULT '',
+ `obj_verb` char(191) NOT NULL DEFAULT '',
+ `obj_type` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `obj_obj` char(191) NOT NULL DEFAULT '',
+ `obj_channel` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `obj_term` char(191) NOT NULL DEFAULT '',
+ `obj_url` char(191) NOT NULL DEFAULT '',
+ `obj_imgurl` char(191) NOT NULL DEFAULT '',
`obj_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`obj_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `obj_quantity` int(11) NOT NULL DEFAULT '0',
+ `obj_quantity` int(11) NOT NULL DEFAULT 0 ,
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -886,22 +872,22 @@ CREATE TABLE IF NOT EXISTS `obj` (
KEY `obj_edited` (`obj_edited`),
KEY `obj_quantity` (`obj_quantity`),
KEY `obj_obj` (`obj_obj`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `outq` (
- `outq_hash` char(255) NOT NULL,
- `outq_account` int(10) unsigned NOT NULL DEFAULT '0',
- `outq_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `outq_hash` char(191) NOT NULL,
+ `outq_account` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `outq_channel` int(10) unsigned NOT NULL DEFAULT 0 ,
`outq_driver` char(32) NOT NULL DEFAULT '',
- `outq_posturl` char(255) NOT NULL DEFAULT '',
- `outq_async` tinyint(1) NOT NULL DEFAULT '0',
- `outq_delivered` tinyint(1) NOT NULL DEFAULT '0',
+ `outq_posturl` char(191) NOT NULL DEFAULT '',
+ `outq_async` tinyint(1) NOT NULL DEFAULT 0 ,
+ `outq_delivered` tinyint(1) NOT NULL DEFAULT 0 ,
`outq_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`outq_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`outq_scheduled` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`outq_notify` mediumtext NOT NULL,
`outq_msg` mediumtext NOT NULL,
- `outq_priority` smallint(6) NOT NULL DEFAULT '0',
+ `outq_priority` smallint(6) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`outq_hash`),
KEY `outq_account` (`outq_account`),
KEY `outq_channel` (`outq_channel`),
@@ -912,44 +898,56 @@ CREATE TABLE IF NOT EXISTS `outq` (
KEY `outq_async` (`outq_async`),
KEY `outq_delivered` (`outq_delivered`),
KEY `outq_priority` (`outq_priority`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+
+CREATE TABLE IF NOT EXISTS pchan (
+ `pchan_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `pchan_guid` char(191) NOT NULL DEFAULT '',
+ `pchan_hash` char(191) NOT NULL DEFAULT '',
+ `pchan_pubkey` text NOT NULL,
+ `pchan_prvkey` text NOT NULL,
+ PRIMARY KEY (`pchan_id`),
+ KEY `pchan_guid` (`pchan_guid`),
+ KEY `pchan_hash` (`pchan_hash`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
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 DEFAULT '',
- `k` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `uid` int(11) NOT NULL DEFAULT 0 ,
+ `cat` char(191) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `access` (`uid`,`cat`,`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `photo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `xchan` char(255) NOT NULL DEFAULT '',
- `resource_id` char(255) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `xchan` char(191) NOT NULL DEFAULT '',
+ `resource_id` char(191) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `title` char(255) NOT NULL DEFAULT '',
+ `title` char(191) NOT NULL DEFAULT '',
`description` text NOT NULL,
- `album` char(255) NOT NULL DEFAULT '',
- `filename` char(255) NOT NULL DEFAULT '',
+ `album` char(191) NOT NULL DEFAULT '',
+ `filename` char(191) NOT NULL DEFAULT '',
`mimetype` char(128) NOT NULL DEFAULT 'image/jpeg',
- `height` smallint(6) NOT NULL DEFAULT '0',
- `width` smallint(6) NOT NULL DEFAULT '0',
- `filesize` int(10) unsigned NOT NULL DEFAULT '0',
+ `height` smallint(6) NOT NULL DEFAULT 0 ,
+ `width` smallint(6) NOT NULL DEFAULT 0 ,
+ `filesize` int(10) unsigned NOT NULL DEFAULT 0 ,
`content` mediumblob NOT NULL,
- `imgscale` tinyint(3) NOT NULL DEFAULT '0',
- `photo_usage` smallint(6) NOT NULL DEFAULT '0',
- `profile` tinyint(1) NOT NULL DEFAULT '0',
- `is_nsfw` tinyint(1) NOT NULL DEFAULT '0',
- `os_storage` tinyint(1) NOT NULL DEFAULT '0',
+ `imgscale` tinyint(3) NOT NULL DEFAULT 0 ,
+ `photo_usage` smallint(6) NOT NULL DEFAULT 0 ,
+ `profile` tinyint(1) NOT NULL DEFAULT 0 ,
+ `is_nsfw` tinyint(1) NOT NULL DEFAULT 0 ,
+ `os_storage` tinyint(1) NOT NULL DEFAULT 0 ,
`os_path` mediumtext NOT NULL,
`display_path` mediumtext NOT NULL,
- `photo_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `photo_flags` int(10) unsigned NOT NULL DEFAULT 0 ,
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -968,85 +966,85 @@ CREATE TABLE IF NOT EXISTS `photo` (
KEY `is_nsfw` (`is_nsfw`),
KEY `os_storage` (`os_storage`),
KEY `photo_usage` (`photo_usage`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `poll` (
`poll_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `poll_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `poll_channel` int(10) unsigned NOT NULL DEFAULT 0 ,
`poll_desc` text NOT NULL,
- `poll_flags` int(11) NOT NULL DEFAULT '0',
- `poll_votes` int(11) NOT NULL DEFAULT '0',
+ `poll_flags` int(11) NOT NULL DEFAULT 0 ,
+ `poll_votes` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`poll_id`),
KEY `poll_channel` (`poll_channel`),
KEY `poll_flags` (`poll_flags`),
KEY `poll_votes` (`poll_votes`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `poll_elm` (
`pelm_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `pelm_poll` int(10) unsigned NOT NULL DEFAULT '0',
+ `pelm_poll` int(10) unsigned NOT NULL DEFAULT 0 ,
`pelm_desc` text NOT NULL,
- `pelm_flags` int(11) NOT NULL DEFAULT '0',
- `pelm_result` float NOT NULL DEFAULT '0',
+ `pelm_flags` int(11) NOT NULL DEFAULT 0 ,
+ `pelm_result` float NOT NULL DEFAULT 0 ,
PRIMARY KEY (`pelm_id`),
KEY `pelm_poll` (`pelm_poll`),
KEY `pelm_result` (`pelm_result`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `profdef` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `field_name` char(255) NOT NULL DEFAULT '',
+ `field_name` char(191) NOT NULL DEFAULT '',
`field_type` char(16) NOT NULL DEFAULT '',
- `field_desc` char(255) NOT NULL DEFAULT '',
- `field_help` char(255) NOT NULL DEFAULT '',
+ `field_desc` char(191) NOT NULL DEFAULT '',
+ `field_help` char(191) NOT NULL DEFAULT '',
`field_inputs` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `field_name` (`field_name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `profext` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `hash` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
+ `channel_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `hash` char(191) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `channel_id` (`channel_id`),
KEY `hash` (`hash`),
KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `profile` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`profile_guid` char(64) NOT NULL DEFAULT '',
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(11) NOT NULL DEFAULT '0',
- `profile_name` char(255) NOT NULL DEFAULT '',
- `is_default` tinyint(1) NOT NULL DEFAULT '0',
- `hide_friends` tinyint(1) NOT NULL DEFAULT '0',
- `fullname` char(255) NOT NULL DEFAULT '',
- `pdesc` char(255) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `uid` int(11) NOT NULL DEFAULT 0 ,
+ `profile_name` char(191) NOT NULL DEFAULT '',
+ `is_default` tinyint(1) NOT NULL DEFAULT 0 ,
+ `hide_friends` tinyint(1) NOT NULL DEFAULT 0 ,
+ `fullname` char(191) NOT NULL DEFAULT '',
+ `pdesc` char(191) NOT NULL DEFAULT '',
`chandesc` text NOT NULL,
`dob` char(32) NOT NULL DEFAULT '0000-00-00',
- `dob_tz` char(255) NOT NULL DEFAULT 'UTC',
- `address` char(255) NOT NULL DEFAULT '',
- `locality` char(255) NOT NULL DEFAULT '',
- `region` char(255) NOT NULL DEFAULT '',
+ `dob_tz` char(191) NOT NULL DEFAULT 'UTC',
+ `address` char(191) NOT NULL DEFAULT '',
+ `locality` char(191) NOT NULL DEFAULT '',
+ `region` char(191) NOT NULL DEFAULT '',
`postal_code` char(32) NOT NULL DEFAULT '',
- `country_name` char(255) NOT NULL DEFAULT '',
- `hometown` char(255) NOT NULL DEFAULT '',
+ `country_name` char(191) NOT NULL DEFAULT '',
+ `hometown` char(191) NOT NULL DEFAULT '',
`gender` char(32) NOT NULL DEFAULT '',
- `marital` char(255) NOT NULL DEFAULT '',
+ `marital` char(191) NOT NULL DEFAULT '',
`partner` text NOT NULL,
`howlong` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `sexual` char(255) NOT NULL DEFAULT '',
- `politic` char(255) NOT NULL DEFAULT '',
- `religion` char(255) NOT NULL DEFAULT '',
+ `sexual` char(191) NOT NULL DEFAULT '',
+ `politic` char(191) NOT NULL DEFAULT '',
+ `religion` char(191) NOT NULL DEFAULT '',
`keywords` text NOT NULL,
`likes` text NOT NULL,
`dislikes` text NOT NULL,
`about` text NOT NULL,
- `summary` char(255) NOT NULL DEFAULT '',
+ `summary` char(191) NOT NULL DEFAULT '',
`music` text NOT NULL,
`book` text NOT NULL,
`tv` text NOT NULL,
@@ -1057,11 +1055,11 @@ CREATE TABLE IF NOT EXISTS `profile` (
`education` text NOT NULL,
`contact` text NOT NULL,
`channels` text NOT NULL,
- `homepage` char(255) NOT NULL DEFAULT '',
- `photo` char(255) NOT NULL DEFAULT '',
- `thumb` char(255) NOT NULL DEFAULT '',
- `publish` tinyint(1) NOT NULL DEFAULT '0',
- `profile_vcard` text NOT NULL DEFAULT '',
+ `homepage` char(191) NOT NULL DEFAULT '',
+ `photo` char(191) NOT NULL DEFAULT '',
+ `thumb` char(191) NOT NULL DEFAULT '',
+ `publish` tinyint(1) NOT NULL DEFAULT 0 ,
+ `profile_vcard` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `guid` (`profile_guid`,`uid`),
KEY `uid` (`uid`),
@@ -1077,87 +1075,87 @@ CREATE TABLE IF NOT EXISTS `profile` (
KEY `postal_code` (`postal_code`),
KEY `country_name` (`country_name`),
KEY `profile_guid` (`profile_guid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `profile_check` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `cid` int(10) unsigned NOT NULL DEFAULT '0',
- `dfrn_id` char(255) NOT NULL DEFAULT '',
- `sec` char(255) NOT NULL DEFAULT '',
- `expire` int(11) NOT NULL DEFAULT '0',
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `cid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `dfrn_id` char(191) NOT NULL DEFAULT '',
+ `sec` char(191) NOT NULL DEFAULT '',
+ `expire` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `cid` (`cid`),
KEY `dfrn_id` (`dfrn_id`),
KEY `sec` (`sec`),
KEY `expire` (`expire`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `register` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `hash` char(255) NOT NULL DEFAULT '',
+ `hash` char(191) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `password` char(255) NOT NULL DEFAULT '',
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `password` char(191) NOT NULL DEFAULT '',
`lang` char(16) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `hash` (`hash`),
KEY `created` (`created`),
KEY `uid` (`uid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `session` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
- `sid` char(255) NOT NULL DEFAULT '',
+ `sid` char(191) NOT NULL DEFAULT '',
`sess_data` text NOT NULL,
- `expire` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `expire` bigint(20) unsigned NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
KEY `sid` (`sid`),
KEY `expire` (`expire`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `shares` (
`share_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `share_type` int(11) NOT NULL DEFAULT '0',
- `share_target` int(10) unsigned NOT NULL DEFAULT '0',
- `share_xchan` char(255) NOT NULL DEFAULT '',
+ `share_type` int(11) NOT NULL DEFAULT 0 ,
+ `share_target` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `share_xchan` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`share_id`),
KEY `share_type` (`share_type`),
KEY `share_target` (`share_target`),
KEY `share_xchan` (`share_xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
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',
+ `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 DEFAULT '',
+ `signer` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `iid` (`iid`),
KEY `retract_iid` (`retract_iid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `site` (
- `site_url` char(255) NOT NULL,
- `site_access` int(11) NOT NULL DEFAULT '0',
- `site_flags` int(11) NOT NULL DEFAULT '0',
+ `site_url` char(191) NOT NULL,
+ `site_access` int(11) NOT NULL DEFAULT 0 ,
+ `site_flags` int(11) NOT NULL DEFAULT 0 ,
`site_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`site_pull` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`site_sync` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `site_directory` char(255) NOT NULL DEFAULT '',
- `site_register` int(11) NOT NULL DEFAULT '0',
- `site_sellpage` char(255) NOT NULL DEFAULT '',
- `site_location` char(255) NOT NULL DEFAULT '',
- `site_realm` char(255) NOT NULL DEFAULT '',
- `site_valid` smallint NOT NULL DEFAULT '0',
- `site_dead` smallint NOT NULL DEFAULT '0',
- `site_type` smallint NOT NULL DEFAULT '0',
- `site_project` char(255) NOT NULL DEFAULT '',
+ `site_directory` char(191) NOT NULL DEFAULT '',
+ `site_register` int(11) NOT NULL DEFAULT 0 ,
+ `site_sellpage` char(191) NOT NULL DEFAULT '',
+ `site_location` char(191) NOT NULL DEFAULT '',
+ `site_realm` char(191) NOT NULL DEFAULT '',
+ `site_valid` smallint NOT NULL DEFAULT 0 ,
+ `site_dead` smallint NOT NULL DEFAULT 0 ,
+ `site_type` smallint NOT NULL DEFAULT 0 ,
+ `site_project` char(191) NOT NULL DEFAULT '',
`site_version` varchar(32) NOT NULL DEFAULT '',
- `site_crypto` text NOT NULL DEFAULT '',
+ `site_crypto` text NOT NULL,
PRIMARY KEY (`site_url`),
KEY `site_flags` (`site_flags`),
KEY `site_update` (`site_update`),
@@ -1171,42 +1169,42 @@ CREATE TABLE IF NOT EXISTS `site` (
KEY `site_dead` (`site_dead`),
KEY `site_type` (`site_type`),
KEY `site_project` (`site_project`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `source` (
`src_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `src_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `src_channel_xchan` char(255) NOT NULL DEFAULT '',
- `src_xchan` char(255) NOT NULL DEFAULT '',
+ `src_channel_id` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `src_channel_xchan` char(191) NOT NULL DEFAULT '',
+ `src_xchan` char(191) NOT NULL DEFAULT '',
`src_patt` mediumtext NOT NULL,
`src_tag` mediumtext NOT NULL,
PRIMARY KEY (`src_id`),
KEY `src_channel_id` (`src_channel_id`),
KEY `src_channel_xchan` (`src_channel_xchan`),
KEY `src_xchan` (`src_xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `sys_perms` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cat` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
+ `cat` char(191) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL,
- `public_perm` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `public_perm` tinyint(1) unsigned NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
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 DEFAULT '0',
- `otype` tinyint(3) unsigned NOT NULL DEFAULT '0',
- `ttype` tinyint(3) unsigned NOT NULL DEFAULT '0',
- `term` char(255) NOT NULL DEFAULT '',
- `url` char(255) NOT NULL DEFAULT '',
- `imgurl` char(255) NOT NULL DEFAULT '',
- `term_hash` char(255) NOT NULL DEFAULT '',
- `parent_hash` char(255) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `uid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `oid` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `otype` tinyint(3) unsigned NOT NULL DEFAULT 0 ,
+ `ttype` tinyint(3) unsigned NOT NULL DEFAULT 0 ,
+ `term` char(191) NOT NULL DEFAULT '',
+ `url` char(191) NOT NULL DEFAULT '',
+ `imgurl` char(191) NOT NULL DEFAULT '',
+ `term_hash` char(191) NOT NULL DEFAULT '',
+ `parent_hash` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`tid`),
KEY `oid` (`oid`),
KEY `otype` (`otype`),
@@ -1217,29 +1215,29 @@ CREATE TABLE IF NOT EXISTS `term` (
KEY `imgurl` (`imgurl`),
KEY `term_hash` (`term_hash`),
KEY `parent_hash` (`parent_hash`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `tokens` (
- `id` varchar(40) NOT NULL DEFAULT '',
+ `id` varchar(191) NOT NULL DEFAULT '',
`secret` text NOT NULL,
- `client_id` varchar(20) NOT NULL DEFAULT '',
- `expires` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `client_id` varchar(191) NOT NULL DEFAULT '',
+ `expires` bigint(20) unsigned NOT NULL DEFAULT 0 ,
`auth_scope` varchar(512) NOT NULL DEFAULT '',
- `uid` int(11) NOT NULL DEFAULT '0',
+ `uid` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
KEY `client_id` (`client_id`),
KEY `expires` (`expires`),
KEY `uid` (`uid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `updates` (
`ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `ud_hash` char(128) NOT NULL DEFAULT '',
- `ud_guid` char(255) NOT NULL DEFAULT '',
+ `ud_hash` char(191) NOT NULL DEFAULT '',
+ `ud_guid` char(191) NOT NULL DEFAULT '',
`ud_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`ud_last` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `ud_flags` int(11) NOT NULL DEFAULT '0',
- `ud_addr` char(255) NOT NULL DEFAULT '',
+ `ud_flags` int(11) NOT NULL DEFAULT 0 ,
+ `ud_addr` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`ud_id`),
KEY `ud_date` (`ud_date`),
KEY `ud_guid` (`ud_guid`),
@@ -1247,14 +1245,14 @@ CREATE TABLE IF NOT EXISTS `updates` (
KEY `ud_flags` (`ud_flags`),
KEY `ud_addr` (`ud_addr`),
KEY `ud_last` (`ud_last`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `verify` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel` int(10) unsigned NOT NULL DEFAULT 0 ,
`vtype` char(32) NOT NULL DEFAULT '',
- `token` char(255) NOT NULL DEFAULT '',
- `meta` char(255) NOT NULL DEFAULT '',
+ `token` char(191) NOT NULL DEFAULT '',
+ `meta` char(191) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`id`),
KEY `channel` (`channel`),
@@ -1262,47 +1260,47 @@ CREATE TABLE IF NOT EXISTS `verify` (
KEY `token` (`token`),
KEY `meta` (`meta`),
KEY `created` (`created`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `vote` (
`vote_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `vote_poll` int(11) NOT NULL DEFAULT '0',
- `vote_element` int(11) NOT NULL DEFAULT '0',
+ `vote_poll` int(11) NOT NULL DEFAULT 0 ,
+ `vote_element` int(11) NOT NULL DEFAULT 0 ,
`vote_result` text NOT NULL,
- `vote_xchan` char(255) NOT NULL DEFAULT '',
+ `vote_xchan` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`vote_id`),
UNIQUE KEY `vote_vote` (`vote_poll`,`vote_element`,`vote_xchan`),
KEY `vote_poll` (`vote_poll`),
KEY `vote_element` (`vote_element`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xchan` (
- `xchan_hash` char(255) NOT NULL,
- `xchan_guid` char(255) NOT NULL DEFAULT '',
+ `xchan_hash` char(191) NOT NULL,
+ `xchan_guid` char(191) NOT NULL DEFAULT '',
`xchan_guid_sig` text NOT NULL,
`xchan_pubkey` text NOT NULL,
`xchan_photo_mimetype` char(32) NOT NULL DEFAULT 'image/jpeg',
- `xchan_photo_l` char(255) NOT NULL DEFAULT '',
- `xchan_photo_m` char(255) NOT NULL DEFAULT '',
- `xchan_photo_s` char(255) NOT NULL DEFAULT '',
- `xchan_addr` char(255) NOT NULL DEFAULT '',
- `xchan_url` char(255) NOT NULL DEFAULT '',
- `xchan_connurl` char(255) NOT NULL DEFAULT '',
- `xchan_follow` char(255) NOT NULL DEFAULT '',
- `xchan_connpage` char(255) NOT NULL DEFAULT '',
- `xchan_name` char(255) NOT NULL DEFAULT '',
- `xchan_network` char(255) NOT NULL DEFAULT '',
- `xchan_instance_url` char(255) NOT NULL DEFAULT '',
- `xchan_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `xchan_photo_l` char(191) NOT NULL DEFAULT '',
+ `xchan_photo_m` char(191) NOT NULL DEFAULT '',
+ `xchan_photo_s` char(191) NOT NULL DEFAULT '',
+ `xchan_addr` char(191) NOT NULL DEFAULT '',
+ `xchan_url` char(191) NOT NULL DEFAULT '',
+ `xchan_connurl` char(191) NOT NULL DEFAULT '',
+ `xchan_follow` char(191) NOT NULL DEFAULT '',
+ `xchan_connpage` char(191) NOT NULL DEFAULT '',
+ `xchan_name` char(191) NOT NULL DEFAULT '',
+ `xchan_network` char(191) NOT NULL DEFAULT '',
+ `xchan_instance_url` char(191) NOT NULL DEFAULT '',
+ `xchan_flags` int(10) unsigned NOT NULL DEFAULT 0 ,
`xchan_photo_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`xchan_name_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `xchan_hidden` tinyint(1) NOT NULL DEFAULT '0',
- `xchan_orphan` tinyint(1) NOT NULL DEFAULT '0',
- `xchan_censored` tinyint(1) NOT NULL DEFAULT '0',
- `xchan_selfcensored` tinyint(1) NOT NULL DEFAULT '0',
- `xchan_system` tinyint(1) NOT NULL DEFAULT '0',
- `xchan_pubforum` tinyint(1) NOT NULL DEFAULT '0',
- `xchan_deleted` tinyint(1) NOT NULL DEFAULT '0',
+ `xchan_hidden` tinyint(1) NOT NULL DEFAULT 0 ,
+ `xchan_orphan` tinyint(1) NOT NULL DEFAULT 0 ,
+ `xchan_censored` tinyint(1) NOT NULL DEFAULT 0 ,
+ `xchan_selfcensored` tinyint(1) NOT NULL DEFAULT 0 ,
+ `xchan_system` tinyint(1) NOT NULL DEFAULT 0 ,
+ `xchan_pubforum` tinyint(1) NOT NULL DEFAULT 0 ,
+ `xchan_deleted` tinyint(1) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`xchan_hash`),
KEY `xchan_guid` (`xchan_guid`),
KEY `xchan_addr` (`xchan_addr`),
@@ -1320,50 +1318,50 @@ CREATE TABLE IF NOT EXISTS `xchan` (
KEY `xchan_system` (`xchan_system`),
KEY `xchan_pubforum` (`xchan_pubforum`),
KEY `xchan_deleted` (`xchan_deleted`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xchat` (
`xchat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xchat_url` char(255) NOT NULL DEFAULT '',
- `xchat_desc` char(255) NOT NULL DEFAULT '',
- `xchat_xchan` char(255) NOT NULL DEFAULT '',
+ `xchat_url` char(191) NOT NULL DEFAULT '',
+ `xchat_desc` char(191) NOT NULL DEFAULT '',
+ `xchat_xchan` char(191) NOT NULL DEFAULT '',
`xchat_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`xchat_id`),
KEY `xchat_url` (`xchat_url`),
KEY `xchat_desc` (`xchat_desc`),
KEY `xchat_xchan` (`xchat_xchan`),
KEY `xchat_edited` (`xchat_edited`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xconfig` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xchan` char(255) NOT NULL DEFAULT '',
- `cat` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
+ `xchan` char(191) NOT NULL DEFAULT '',
+ `cat` char(191) NOT NULL DEFAULT '',
+ `k` char(191) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `xchan` (`xchan`),
KEY `cat` (`cat`),
KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xign` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(11) NOT NULL DEFAULT '0',
- `xchan` char(255) NOT NULL DEFAULT '',
+ `uid` int(11) NOT NULL DEFAULT 0 ,
+ `xchan` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `xchan` (`xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xlink` (
`xlink_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xlink_xchan` char(255) NOT NULL DEFAULT '',
- `xlink_link` char(255) NOT NULL DEFAULT '',
- `xlink_rating` int(11) NOT NULL DEFAULT '0',
+ `xlink_xchan` char(191) NOT NULL DEFAULT '',
+ `xlink_link` char(191) NOT NULL DEFAULT '',
+ `xlink_rating` int(11) NOT NULL DEFAULT 0 ,
`xlink_rating_text` text NOT NULL,
`xlink_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
- `xlink_static` tinyint(1) NOT NULL DEFAULT '0',
+ `xlink_static` tinyint(1) NOT NULL DEFAULT 0 ,
`xlink_sig` text NOT NULL,
PRIMARY KEY (`xlink_id`),
KEY `xlink_xchan` (`xlink_xchan`),
@@ -1371,35 +1369,35 @@ CREATE TABLE IF NOT EXISTS `xlink` (
KEY `xlink_updated` (`xlink_updated`),
KEY `xlink_rating` (`xlink_rating`),
KEY `xlink_static` (`xlink_static`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xperm` (
`xp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`xp_client` varchar(20) NOT NULL DEFAULT '',
- `xp_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `xp_channel` int(10) unsigned NOT NULL DEFAULT 0 ,
`xp_perm` varchar(64) NOT NULL DEFAULT '',
PRIMARY KEY (`xp_id`),
KEY `xp_client` (`xp_client`),
KEY `xp_channel` (`xp_channel`),
KEY `xp_perm` (`xp_perm`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xprof` (
- `xprof_hash` char(255) NOT NULL,
- `xprof_age` tinyint(3) unsigned NOT NULL DEFAULT '0',
- `xprof_desc` char(255) NOT NULL DEFAULT '',
+ `xprof_hash` char(191) NOT NULL,
+ `xprof_age` tinyint(3) unsigned NOT NULL DEFAULT 0 ,
+ `xprof_desc` char(191) NOT NULL DEFAULT '',
`xprof_dob` char(12) NOT NULL DEFAULT '',
- `xprof_gender` char(255) NOT NULL DEFAULT '',
- `xprof_marital` char(255) NOT NULL DEFAULT '',
- `xprof_sexual` char(255) NOT NULL DEFAULT '',
- `xprof_locale` char(255) NOT NULL DEFAULT '',
- `xprof_region` char(255) NOT NULL DEFAULT '',
+ `xprof_gender` char(191) NOT NULL DEFAULT '',
+ `xprof_marital` char(191) NOT NULL DEFAULT '',
+ `xprof_sexual` char(191) NOT NULL DEFAULT '',
+ `xprof_locale` char(191) NOT NULL DEFAULT '',
+ `xprof_region` char(191) NOT NULL DEFAULT '',
`xprof_postcode` char(32) NOT NULL DEFAULT '',
- `xprof_country` char(255) NOT NULL DEFAULT '',
+ `xprof_country` char(191) NOT NULL DEFAULT '',
`xprof_keywords` text NOT NULL,
`xprof_about` text NOT NULL,
- `xprof_homepage` char(255) NOT NULL DEFAULT '',
- `xprof_hometown` char(255) NOT NULL DEFAULT '',
+ `xprof_homepage` char(191) NOT NULL DEFAULT '',
+ `xprof_hometown` char(191) NOT NULL DEFAULT '',
PRIMARY KEY (`xprof_hash`),
KEY `xprof_desc` (`xprof_desc`),
KEY `xprof_dob` (`xprof_dob`),
@@ -1412,15 +1410,186 @@ CREATE TABLE IF NOT EXISTS `xprof` (
KEY `xprof_country` (`xprof_country`),
KEY `xprof_age` (`xprof_age`),
KEY `xprof_hometown` (`xprof_hometown`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `xtag` (
`xtag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xtag_hash` char(255) NOT NULL DEFAULT '',
- `xtag_term` char(255) NOT NULL DEFAULT '',
- `xtag_flags` int(11) NOT NULL DEFAULT '0',
+ `xtag_hash` char(191) NOT NULL DEFAULT '',
+ `xtag_term` char(191) NOT NULL DEFAULT '',
+ `xtag_flags` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`xtag_id`),
KEY `xtag_term` (`xtag_term`),
KEY `xtag_hash` (`xtag_hash`),
KEY `xtag_flags` (`xtag_flags`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists addressbooks (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ principaluri VARBINARY(255),
+ displayname VARCHAR(255),
+ uri VARBINARY(200),
+ description TEXT,
+ synctoken INT(11) UNSIGNED NOT NULL DEFAULT '1',
+ UNIQUE(principaluri(100), uri(100))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists cards (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ addressbookid INT(11) UNSIGNED NOT NULL,
+ carddata MEDIUMBLOB,
+ uri VARBINARY(200),
+ lastmodified INT(11) UNSIGNED,
+ etag VARBINARY(32),
+ size INT(11) UNSIGNED NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists addressbookchanges (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ synctoken INT(11) UNSIGNED NOT NULL,
+ addressbookid INT(11) UNSIGNED NOT NULL,
+ operation TINYINT(1) NOT NULL,
+ INDEX addressbookid_synctoken (addressbookid, synctoken)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists calendarobjects (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ calendardata MEDIUMBLOB,
+ uri VARBINARY(200),
+ calendarid INTEGER UNSIGNED NOT NULL,
+ lastmodified INT(11) UNSIGNED,
+ etag VARBINARY(32),
+ size INT(11) UNSIGNED NOT NULL,
+ componenttype VARBINARY(8),
+ firstoccurence INT(11) UNSIGNED,
+ lastoccurence INT(11) UNSIGNED,
+ uid VARBINARY(200),
+ UNIQUE(calendarid, uri),
+ INDEX calendarid_time (calendarid, firstoccurence)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists calendars (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ synctoken INTEGER UNSIGNED NOT NULL DEFAULT '1',
+ components VARBINARY(21)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists calendarinstances (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ calendarid INTEGER UNSIGNED NOT NULL,
+ principaluri VARBINARY(100),
+ access TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1 = owner, 2 = read, 3 = readwrite',
+ displayname VARCHAR(100),
+ uri VARBINARY(200),
+ description TEXT,
+ calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ calendarcolor VARBINARY(10),
+ timezone TEXT,
+ transparent TINYINT(1) NOT NULL DEFAULT '0',
+ share_href VARBINARY(100),
+ share_displayname VARCHAR(100),
+ share_invitestatus TINYINT(1) NOT NULL DEFAULT '2' COMMENT '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid',
+ UNIQUE(principaluri, uri),
+ UNIQUE(calendarid, principaluri),
+ UNIQUE(calendarid, share_href)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists calendarchanges (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ synctoken INT(11) UNSIGNED NOT NULL,
+ calendarid INT(11) UNSIGNED NOT NULL,
+ operation TINYINT(1) NOT NULL,
+ INDEX calendarid_synctoken (calendarid, synctoken)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists calendarsubscriptions (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ principaluri VARBINARY(100) NOT NULL,
+ source TEXT,
+ displayname VARCHAR(100),
+ refreshrate VARCHAR(10),
+ calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ calendarcolor VARBINARY(10),
+ striptodos TINYINT(1) NULL,
+ stripalarms TINYINT(1) NULL,
+ stripattachments TINYINT(1) NULL,
+ lastmodified INT(11) UNSIGNED,
+ UNIQUE(principaluri, uri)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists schedulingobjects (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ principaluri VARBINARY(255),
+ calendardata MEDIUMBLOB,
+ uri VARBINARY(200),
+ lastmodified INT(11) UNSIGNED,
+ etag VARBINARY(32),
+ size INT(11) UNSIGNED NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists locks (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ owner VARCHAR(100),
+ timeout INTEGER UNSIGNED,
+ created INTEGER,
+ token VARBINARY(100),
+ scope TINYINT,
+ depth TINYINT,
+ uri VARBINARY(1000),
+ INDEX(token),
+ INDEX(uri(100))
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists principals (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ email VARBINARY(80),
+ displayname VARCHAR(80),
+ UNIQUE(uri)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists groupmembers (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ principal_id INTEGER UNSIGNED NOT NULL,
+ member_id INTEGER UNSIGNED NOT NULL,
+ UNIQUE(principal_id, member_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists propertystorage (
+ id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ path VARBINARY(1024) NOT NULL,
+ name VARBINARY(100) NOT NULL,
+ valuetype INT UNSIGNED,
+ value MEDIUMBLOB
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE UNIQUE INDEX path_property ON propertystorage (path(600), name(100));
+
+CREATE TABLE if not exists users (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ username VARBINARY(50),
+ digesta1 VARBINARY(32),
+ UNIQUE(username)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists calendarinstances (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ calendarid INTEGER UNSIGNED NOT NULL,
+ principaluri VARBINARY(100),
+ access TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1 = owner, 2 = read, 3 = readwrite',
+ displayname VARCHAR(100),
+ uri VARBINARY(200),
+ description TEXT,
+ calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ calendarcolor VARBINARY(10),
+ timezone TEXT,
+ transparent TINYINT(1) NOT NULL DEFAULT '0',
+ share_href VARBINARY(100),
+ share_displayname VARCHAR(100),
+ share_invitestatus TINYINT(1) NOT NULL DEFAULT '2' COMMENT '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid',
+ UNIQUE(principaluri, uri),
+ UNIQUE(calendarid, principaluri),
+ UNIQUE(calendarid, share_href)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index e78425828..082817a60 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -16,8 +16,8 @@ CREATE TABLE "abook" (
"abook_account" bigint NOT NULL,
"abook_channel" bigint NOT NULL,
"abook_xchan" text NOT NULL DEFAULT '',
- "abook_my_perms" bigint NOT NULL DEFAULT '0',
- "abook_their_perms" bigint NOT NULL DEFAULT '0',
+ "abook_my_perms" bigint NOT NULL,
+ "abook_their_perms" bigint NOT NULL,
"abook_closeness" numeric(3) NOT NULL DEFAULT '99',
"abook_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"abook_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -32,7 +32,8 @@ CREATE TABLE "abook" (
"abook_unconnected" smallint NOT NULL DEFAULT '0',
"abook_self" smallint NOT NULL DEFAULT '0',
"abook_feed" smallint NOT NULL DEFAULT '0',
- "abook_profile" char(64) NOT NULL DEFAULT '',
+ "abook_not_here" smallint NOT NULL DEFAULT '0',
+ "abook_profile" varchar(64) NOT NULL DEFAULT '',
"abook_incl" TEXT NOT NULL DEFAULT '',
"abook_excl" TEXT NOT NULL DEFAULT '',
"abook_instance" TEXT NOT NULL DEFAULT '',
@@ -41,8 +42,8 @@ CREATE TABLE "abook" (
create index "abook_account" on abook ("abook_account");
create index "abook_channel" on abook ("abook_channel");
create index "abook_xchan" on abook ("abook_xchan");
- create index "abook_my_perms" on abook ("abook_my_perms");
- create index "abook_their_perms" on abook ("abook_their_perms");
+ create index "abook_my_perms" on abook ("abook_my_perms");
+ create index "abook_their_perms" on abook ("abook_their_perms");
create index "abook_closeness" on abook ("abook_closeness");
create index "abook_created" on abook ("abook_created");
create index "abook_updated" on abook ("abook_updated");
@@ -55,6 +56,7 @@ CREATE TABLE "abook" (
create index "abook_unconnected" on abook ("abook_unconnected");
create index "abook_self" on abook ("abook_self");
create index "abook_feed" on abook ("abook_feed");
+ create index "abook_not_here" on abook ("abook_not_here");
create index "abook_profile" on abook ("abook_profile");
create index "abook_dob" on abook ("abook_dob");
create index "abook_connected" on abook ("abook_connected");
@@ -64,7 +66,7 @@ CREATE TABLE "account" (
"account_id" serial NOT NULL,
"account_parent" bigint NOT NULL DEFAULT '0',
"account_default_channel" bigint NOT NULL DEFAULT '0',
- "account_salt" char(32) NOT NULL DEFAULT '',
+ "account_salt" varchar(32) NOT NULL DEFAULT '',
"account_password" text NOT NULL DEFAULT '',
"account_email" text NOT NULL DEFAULT '',
"account_external" text NOT NULL DEFAULT '',
@@ -259,27 +261,11 @@ CREATE TABLE "channel" (
"channel_allow_gid" text ,
"channel_deny_cid" text ,
"channel_deny_gid" text ,
- "channel_r_stream" bigint NOT NULL DEFAULT '128',
- "channel_r_profile" bigint NOT NULL DEFAULT '128',
- "channel_r_photos" bigint NOT NULL DEFAULT '128',
- "channel_r_abook" bigint NOT NULL DEFAULT '128',
- "channel_w_stream" bigint NOT NULL DEFAULT '128',
- "channel_w_wall" bigint NOT NULL DEFAULT '128',
- "channel_w_tagwall" bigint NOT NULL DEFAULT '128',
- "channel_w_comment" bigint NOT NULL DEFAULT '128',
- "channel_w_mail" bigint NOT NULL DEFAULT '128',
- "channel_w_photos" bigint NOT NULL DEFAULT '128',
- "channel_w_chat" bigint NOT NULL DEFAULT '128',
- "channel_a_delegate" bigint NOT NULL DEFAULT '0',
- "channel_r_storage" bigint NOT NULL DEFAULT '128',
- "channel_w_storage" bigint NOT NULL DEFAULT '128',
- "channel_r_pages" bigint NOT NULL DEFAULT '128',
- "channel_w_pages" bigint NOT NULL DEFAULT '128',
- "channel_a_republish" bigint NOT NULL DEFAULT '128',
- "channel_w_like" bigint NOT NULL DEFAULT '128',
"channel_removed" smallint NOT NULL DEFAULT '0',
"channel_system" smallint NOT NULL DEFAULT '0',
"channel_moved" text NOT NULL DEFAULT '',
+ "channel_password" varchar(255) NOT NULL,
+ "channel_salt" varchar(255) NOT NULL,
PRIMARY KEY ("channel_id"),
UNIQUE ("channel_address")
);
@@ -294,28 +280,10 @@ create index "channel_pageflags" on channel ("channel_pageflags");
create index "channel_max_anon_mail" on channel ("channel_max_anon_mail");
create index "channel_max_friend_req" on channel ("channel_max_friend_req");
create index "channel_default_gid" on channel ("channel_default_group");
-create index "channel_r_stream" on channel ("channel_r_stream");
-create index "channel_r_profile" on channel ("channel_r_profile");
-create index "channel_r_photos" on channel ("channel_r_photos");
-create index "channel_r_abook" on channel ("channel_r_abook");
-create index "channel_w_stream" on channel ("channel_w_stream");
-create index "channel_w_wall" on channel ("channel_w_wall");
-create index "channel_w_tagwall" on channel ("channel_w_tagwall");
-create index "channel_w_comment" on channel ("channel_w_comment");
-create index "channel_w_mail" on channel ("channel_w_mail");
-create index "channel_w_photos" on channel ("channel_w_photos");
-create index "channel_w_chat" on channel ("channel_w_chat");
create index "channel_guid" on channel ("channel_guid");
create index "channel_hash" on channel ("channel_hash");
create index "channel_expire_days" on channel ("channel_expire_days");
-create index "channel_a_delegate" on channel ("channel_a_delegate");
-create index "channel_r_storage" on channel ("channel_r_storage");
-create index "channel_w_storage" on channel ("channel_w_storage");
-create index "channel_r_pages" on channel ("channel_r_pages");
-create index "channel_w_pages" on channel ("channel_w_pages");
create index "channel_deleted" on channel ("channel_deleted");
-create index "channel_a_republish" on channel ("channel_a_republish");
-create index "channel_w_like" on channel ("channel_w_like");
create index "channel_dirdate" on channel ("channel_dirdate");
create index "channel_lastpost" on channel ("channel_lastpost");
create index "channel_removed" on channel ("channel_removed");
@@ -338,7 +306,7 @@ CREATE TABLE "chatpresence" (
"cp_xchan" text NOT NULL DEFAULT '',
"cp_last" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"cp_status" text NOT NULL,
- "cp_client" char(128) NOT NULL DEFAULT '',
+ "cp_client" varchar(128) NOT NULL DEFAULT '',
PRIMARY KEY ("cp_id")
);
create index "cp_room" on chatpresence ("cp_room");
@@ -400,13 +368,13 @@ create index "conv_updated_idx" on conv ("updated");
CREATE TABLE IF NOT EXISTS "dreport" (
"dreport_id" serial NOT NULL,
"dreport_channel" int NOT NULL DEFAULT '0',
- "dreport_mid" char(255) NOT NULL DEFAULT '',
- "dreport_site" char(255) NOT NULL DEFAULT '',
- "dreport_recip" char(255) NOT NULL DEFAULT '',
- "dreport_result" char(255) NOT NULL DEFAULT '',
+ "dreport_mid" varchar(255) NOT NULL DEFAULT '',
+ "dreport_site" varchar(255) NOT NULL DEFAULT '',
+ "dreport_recip" varchar(255) NOT NULL DEFAULT '',
+ "dreport_result" varchar(255) NOT NULL DEFAULT '',
"dreport_time" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
- "dreport_xchan" char(255) NOT NULL DEFAULT '',
- "dreport_queue" char(255) NOT NULL DEFAULT '',
+ "dreport_xchan" varchar(255) NOT NULL DEFAULT '',
+ "dreport_queue" varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY ("dreport_id")
);
@@ -439,7 +407,7 @@ CREATE TABLE "event" (
"allow_gid" text NOT NULL,
"deny_cid" text NOT NULL,
"deny_gid" text NOT NULL,
- "event_status" char(255) NOT NULL DEFAULT '',
+ "event_status" varchar(255) NOT NULL DEFAULT '',
"event_status_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"event_percent" smallint NOT NULL DEFAULT '0',
"event_repeat" text NOT NULL,
@@ -609,7 +577,6 @@ CREATE TABLE "item" (
"resource_type" varchar(16) NOT NULL DEFAULT '',
"attach" text NOT NULL,
"sig" text NOT NULL DEFAULT '',
- "diaspora_meta" text NOT NULL DEFAULT '',
"location" text NOT NULL DEFAULT '',
"coord" text NOT NULL DEFAULT '',
"public_policy" text NOT NULL DEFAULT '',
@@ -654,16 +621,19 @@ create index "item_edited" on item ("edited");
create index "item_received" on item ("received");
create index "item_uid_commented" on item ("uid","commented");
create index "item_uid_created" on item ("uid","created");
+create index "item_uid_unseen" on item ("uid","item_unseen");
create index "item_changed" on item ("changed");
create index "item_comments_closed" on item ("comments_closed");
create index "item_aid" on item ("aid");
create index "item_owner_xchan" on item ("owner_xchan");
create index "item_author_xchan" on item ("author_xchan");
+create index "item_resource_id" on item ("resource_id");
create index "item_resource_type" on item ("resource_type");
create index "item_restrict" on item ("item_restrict");
create index "item_flags" on item ("item_flags");
create index "item_commented" on item ("commented");
create index "item_verb" on item ("verb");
+create index "item_obj_type" on item ("obj_type");
create index "item_private" on item ("item_private");
create index "item_llink" on item ("llink");
create index "item_expires" on item ("expires");
@@ -722,13 +692,13 @@ create index "itemid_iid" on item_id ("iid");
CREATE TABLE "likes" (
"id" serial NOT NULL,
"channel_id" bigint NOT NULL DEFAULT '0',
- "liker" char(128) NOT NULL DEFAULT '',
- "likee" char(128) NOT NULL DEFAULT '',
+ "liker" varchar(128) NOT NULL DEFAULT '',
+ "likee" varchar(128) NOT NULL DEFAULT '',
"iid" bigint NOT NULL DEFAULT '0',
- "i_mid" char(255) NOT NULL DEFAULT '',
+ "i_mid" varchar(255) NOT NULL DEFAULT '',
"verb" text NOT NULL DEFAULT '',
"target_type" text NOT NULL DEFAULT '',
- "target_id" char(128) NOT NULL DEFAULT '',
+ "target_id" varchar(128) NOT NULL DEFAULT '',
"target" text NOT NULL,
PRIMARY KEY ("id")
);
@@ -749,6 +719,7 @@ CREATE TABLE "mail" (
"to_xchan" text NOT NULL DEFAULT '',
"account_id" bigint NOT NULL DEFAULT '0',
"channel_id" bigint NOT NULL DEFAULT '0',
+ "mail_mimetype" varchar(64) NOT NULL DEFAULT '0',
"title" text NOT NULL,
"body" text NOT NULL,
"sig" text NOT NULL,
@@ -761,6 +732,7 @@ CREATE TABLE "mail" (
"mail_seen" smallint NOT NULL DEFAULT '0',
"mail_recalled" smallint NOT NULL DEFAULT '0',
"mail_obscured" smallint NOT NULL DEFAULT '0',
+ "mail_raw" smallint NOT NULL DEFAULT '0',
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY ("id")
@@ -817,7 +789,7 @@ create index "mitem_menu_id" on menu_item ("mitem_menu_id");
create index "mitem_flags" on menu_item ("mitem_flags");
CREATE TABLE "notify" (
"id" serial NOT NULL,
- "hash" char(64) NOT NULL,
+ "hash" varchar(64) NOT NULL,
"xname" text NOT NULL,
"url" text NOT NULL,
"photo" text NOT NULL,
@@ -844,14 +816,14 @@ create index "notify_otype" on notify ("otype");
create index "notify_aid" on notify ("aid");
CREATE TABLE "obj" (
"obj_id" serial NOT NULL,
- "obj_page" char(64) NOT NULL DEFAULT '',
+ "obj_page" varchar(64) NOT NULL DEFAULT '',
"obj_verb" text NOT NULL DEFAULT '',
"obj_type" bigint NOT NULL DEFAULT 0,
"obj_obj" text NOT NULL DEFAULT '',
"obj_channel" bigint NOT NULL DEFAULT 0,
- "obj_term" char(255) NOT NULL DEFAULT '',
- "obj_url" char(255) NOT NULL DEFAULT '',
- "obj_imgurl" char(255) NOT NULL DEFAULT '',
+ "obj_term" varchar(255) NOT NULL DEFAULT '',
+ "obj_url" varchar(255) NOT NULL DEFAULT '',
+ "obj_imgurl" varchar(255) NOT NULL DEFAULT '',
"obj_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"obj_edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"obj_quantity" bigint NOT NULL DEFAULT 0,
@@ -900,6 +872,19 @@ create index "outq_async" on outq ("outq_async");
create index "outq_delivered" on outq ("outq_delivered");
create index "outq_priority" on outq ("outq_priority");
+
+CREATE TABLE "pchan" (
+ "pchan_id" serial NOT NULL,
+ "pchan_guid" text NOT NULL,
+ "pchan_hash" text NOT NULL,
+ "pchan_pubkey" text NOT NULL,
+ "pchan_prvkey" text NOT NULL,
+ PRIMARY KEY ("pchan_id")
+);
+
+create index "pchan_guid" on pchan ("pchan_guid");
+create index "pchan_hash" on pchan ("pchan_hash");
+
CREATE TABLE "pconfig" (
"id" serial NOT NULL,
"uid" bigint NOT NULL DEFAULT '0',
@@ -1002,7 +987,7 @@ create index "profext_k" on profext ("k");
CREATE TABLE "profile" (
"id" serial NOT NULL,
- "profile_guid" char(64) NOT NULL DEFAULT '',
+ "profile_guid" varchar(64) NOT NULL DEFAULT '',
"aid" bigint NOT NULL DEFAULT '0',
"uid" bigint NOT NULL,
"profile_name" text NOT NULL,
@@ -1212,7 +1197,7 @@ create index "tokens_uid" on tokens ("uid");
CREATE TABLE "updates" (
"ud_id" serial NOT NULL,
- "ud_hash" char(128) NOT NULL,
+ "ud_hash" varchar(128) NOT NULL,
"ud_guid" text NOT NULL DEFAULT '',
"ud_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"ud_last" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -1393,3 +1378,225 @@ CREATE TABLE "xtag" (
create index "xtag_term" on xtag ("xtag_term");
create index "xtag_hash" on xtag ("xtag_hash");
create index "xtag_flags" on xtag ("xtag_flags");
+
+CREATE TABLE addressbooks (
+ id SERIAL NOT NULL,
+ principaluri VARCHAR(255),
+ displayname VARCHAR(255),
+ uri VARCHAR(200),
+ description TEXT,
+ synctoken INTEGER NOT NULL DEFAULT 1
+);
+
+ALTER TABLE ONLY addressbooks
+ ADD CONSTRAINT addressbooks_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX addressbooks_ukey
+ ON addressbooks USING btree (principaluri, uri);
+
+CREATE TABLE cards (
+ id SERIAL NOT NULL,
+ addressbookid INTEGER NOT NULL,
+ carddata BYTEA,
+ uri VARCHAR(200),
+ lastmodified INTEGER,
+ etag VARCHAR(32),
+ size INTEGER NOT NULL
+);
+
+ALTER TABLE ONLY cards
+ ADD CONSTRAINT cards_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX cards_ukey
+ ON cards USING btree (addressbookid, uri);
+
+CREATE TABLE addressbookchanges (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ synctoken INTEGER NOT NULL,
+ addressbookid INTEGER NOT NULL,
+ operation SMALLINT NOT NULL
+);
+
+ALTER TABLE ONLY addressbookchanges
+ ADD CONSTRAINT addressbookchanges_pkey PRIMARY KEY (id);
+
+CREATE INDEX addressbookchanges_addressbookid_synctoken_ix
+ ON addressbookchanges USING btree (addressbookid, synctoken);
+
+CREATE TABLE calendarobjects (
+ id SERIAL NOT NULL,
+ calendardata BYTEA,
+ uri VARCHAR(200),
+ calendarid INTEGER NOT NULL,
+ lastmodified INTEGER,
+ etag VARCHAR(32),
+ size INTEGER NOT NULL,
+ componenttype VARCHAR(8),
+ firstoccurence INTEGER,
+ lastoccurence INTEGER,
+ uid VARCHAR(200)
+);
+
+ALTER TABLE ONLY calendarobjects
+ ADD CONSTRAINT calendarobjects_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX calendarobjects_ukey
+ ON calendarobjects USING btree (calendarid, uri);
+
+
+CREATE TABLE calendars (
+ id SERIAL NOT NULL,
+ synctoken INTEGER NOT NULL DEFAULT 1,
+ components VARCHAR(21)
+);
+
+ALTER TABLE ONLY calendars
+ ADD CONSTRAINT calendars_pkey PRIMARY KEY (id);
+
+
+CREATE TABLE calendarinstances (
+ id SERIAL NOT NULL,
+ calendarid INTEGER NOT NULL,
+ principaluri VARCHAR(100),
+ access SMALLINT NOT NULL DEFAULT '1', -- '1 = owner, 2 = read, 3 = readwrite'
+ displayname VARCHAR(100),
+ uri VARCHAR(200),
+ description TEXT,
+ calendarorder INTEGER NOT NULL DEFAULT 0,
+ calendarcolor VARCHAR(10),
+ timezone TEXT,
+ transparent SMALLINT NOT NULL DEFAULT '0',
+ share_href VARCHAR(100),
+ share_displayname VARCHAR(100),
+ share_invitestatus SMALLINT NOT NULL DEFAULT '2' -- '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid'
+);
+
+ALTER TABLE ONLY calendarinstances
+ ADD CONSTRAINT calendarinstances_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX calendarinstances_principaluri_uri
+ ON calendarinstances USING btree (principaluri, uri);
+
+
+CREATE UNIQUE INDEX calendarinstances_principaluri_calendarid
+ ON calendarinstances USING btree (principaluri, calendarid);
+
+CREATE UNIQUE INDEX calendarinstances_principaluri_share_href
+ ON calendarinstances USING btree (principaluri, share_href);
+
+CREATE TABLE calendarsubscriptions (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ principaluri VARCHAR(100) NOT NULL,
+ source TEXT,
+ displayname VARCHAR(100),
+ refreshrate VARCHAR(10),
+ calendarorder INTEGER NOT NULL DEFAULT 0,
+ calendarcolor VARCHAR(10),
+ striptodos SMALLINT NULL,
+ stripalarms SMALLINT NULL,
+ stripattachments SMALLINT NULL,
+ lastmodified INTEGER
+);
+
+ALTER TABLE ONLY calendarsubscriptions
+ ADD CONSTRAINT calendarsubscriptions_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX calendarsubscriptions_ukey
+ ON calendarsubscriptions USING btree (principaluri, uri);
+
+CREATE TABLE calendarchanges (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ synctoken INTEGER NOT NULL,
+ calendarid INTEGER NOT NULL,
+ operation SMALLINT NOT NULL DEFAULT 0
+);
+
+ALTER TABLE ONLY calendarchanges
+ ADD CONSTRAINT calendarchanges_pkey PRIMARY KEY (id);
+
+CREATE INDEX calendarchanges_calendarid_synctoken_ix
+ ON calendarchanges USING btree (calendarid, synctoken);
+
+CREATE TABLE schedulingobjects (
+ id SERIAL NOT NULL,
+ principaluri VARCHAR(255),
+ calendardata BYTEA,
+ uri VARCHAR(200),
+ lastmodified INTEGER,
+ etag VARCHAR(32),
+ size INTEGER NOT NULL
+);
+
+CREATE TABLE locks (
+ id SERIAL NOT NULL,
+ owner VARCHAR(100),
+ timeout INTEGER,
+ created INTEGER,
+ token VARCHAR(100),
+ scope SMALLINT,
+ depth SMALLINT,
+ uri TEXT
+);
+
+ALTER TABLE ONLY locks
+ ADD CONSTRAINT locks_pkey PRIMARY KEY (id);
+
+CREATE INDEX locks_token_ix
+ ON locks USING btree (token);
+
+CREATE INDEX locks_uri_ix
+ ON locks USING btree (uri);
+
+CREATE TABLE principals (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ email VARCHAR(80),
+ displayname VARCHAR(80)
+);
+
+ALTER TABLE ONLY principals
+ ADD CONSTRAINT principals_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX principals_ukey
+ ON principals USING btree (uri);
+
+CREATE TABLE groupmembers (
+ id SERIAL NOT NULL,
+ principal_id INTEGER NOT NULL,
+ member_id INTEGER NOT NULL
+);
+
+ALTER TABLE ONLY groupmembers
+ ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX groupmembers_ukey
+ ON groupmembers USING btree (principal_id, member_id);
+
+CREATE TABLE propertystorage (
+ id SERIAL NOT NULL,
+ path VARCHAR(1024) NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ valuetype INT,
+ value BYTEA
+);
+
+ALTER TABLE ONLY propertystorage
+ ADD CONSTRAINT propertystorage_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX propertystorage_ukey
+ ON propertystorage (path, name);
+
+CREATE TABLE users (
+ id SERIAL NOT NULL,
+ username VARCHAR(50),
+ digesta1 VARCHAR(32)
+);
+
+ALTER TABLE ONLY users
+ ADD CONSTRAINT users_pkey PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX users_ukey
+ ON users USING btree (username);
diff --git a/install/update.php b/install/update.php
index 87cf4ba60..7d59555d3 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1188 );
+define( 'UPDATE_VERSION' , 1197 );
/**
*
@@ -2475,7 +2475,7 @@ function update_r1184() {
function update_r1185() {
- $r1 = q("alter table app add app_plugin char(255) not null default '' ");
+ $r1 = q("alter table app add app_plugin text not null default '' ");
if($r1)
return UPDATE_SUCCESS;
@@ -2508,4 +2508,555 @@ function update_r1187() {
return UPDATE_FAILED;
+}
+
+function update_r1188() {
+
+ $r1 = q("alter table channel add channel_password varchar(255) not null default '' ");
+ $r2 = q("alter table channel add channel_salt varchar(255) not null default '' ");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+function update_r1189() {
+
+ $r1 = q("alter table mail add mail_mimetype varchar(64) not null default 'text/bbcode' ");
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r2 = q("alter table mail add mail_raw smallint not null default 0 ");
+ }
+ else {
+ $r2 = q("alter table mail add mail_raw tinyint(4) not null default 0 ");
+ }
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+}
+
+function update_r1190() {
+ $r1 = q("alter table abook add abook_not_here smallint not null default 0 ");
+
+ $r2 = q("create index abook_not_here on abook (abook_not_here)");
+
+ if($r1 && $r2)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1191() {
+
+ $r = q("SELECT 1 FROM principals LIMIT 1");
+
+ if($r !== false) {
+ return UPDATE_SUCCESS;
+ }
+ else {
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("CREATE TABLE addressbooks (
+ id SERIAL NOT NULL,
+ principaluri VARCHAR(255),
+ displayname VARCHAR(255),
+ uri VARCHAR(200),
+ description TEXT,
+ synctoken INTEGER NOT NULL DEFAULT 1
+ );"
+ );
+
+ $r2 = q("ALTER TABLE ONLY addressbooks ADD CONSTRAINT addressbooks_pkey PRIMARY KEY (id);");
+
+ $r3 = q("CREATE UNIQUE INDEX addressbooks_ukey ON addressbooks USING btree (principaluri, uri);");
+
+ $r4 = q("CREATE TABLE cards (
+ id SERIAL NOT NULL,
+ addressbookid INTEGER NOT NULL,
+ carddata BYTEA,
+ uri VARCHAR(200),
+ lastmodified INTEGER,
+ etag VARCHAR(32),
+ size INTEGER NOT NULL
+ );"
+ );
+
+ $r5 = q("ALTER TABLE ONLY cards ADD CONSTRAINT cards_pkey PRIMARY KEY (id);");
+
+ $r6 = q("CREATE UNIQUE INDEX cards_ukey ON cards USING btree (addressbookid, uri);");
+
+ $r7 = q("CREATE TABLE addressbookchanges (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ synctoken INTEGER NOT NULL,
+ addressbookid INTEGER NOT NULL,
+ operation SMALLINT NOT NULL
+ );"
+ );
+
+ $r8 = q("ALTER TABLE ONLY addressbookchanges ADD CONSTRAINT addressbookchanges_pkey PRIMARY KEY (id);");
+
+ $r9 = q("CREATE INDEX addressbookchanges_addressbookid_synctoken_ix ON addressbookchanges USING btree (addressbookid, synctoken);");
+
+ $r10 = q("CREATE TABLE calendarobjects (
+ id SERIAL NOT NULL,
+ calendardata BYTEA,
+ uri VARCHAR(200),
+ calendarid INTEGER NOT NULL,
+ lastmodified INTEGER,
+ etag VARCHAR(32),
+ size INTEGER NOT NULL,
+ componenttype VARCHAR(8),
+ firstoccurence INTEGER,
+ lastoccurence INTEGER,
+ uid VARCHAR(200)
+ );"
+ );
+
+ $r11 = q("ALTER TABLE ONLY calendarobjects ADD CONSTRAINT calendarobjects_pkey PRIMARY KEY (id);");
+
+ $r12 = q("CREATE UNIQUE INDEX calendarobjects_ukey ON calendarobjects USING btree (calendarid, uri);");
+
+ $r13 = q("CREATE TABLE calendars (
+ id SERIAL NOT NULL,
+ synctoken INTEGER NOT NULL DEFAULT 1,
+ components VARCHAR(21)
+ );"
+ );
+
+ $r14 = q("ALTER TABLE ONLY calendars ADD CONSTRAINT calendars_pkey PRIMARY KEY (id);");
+
+ $r15 = q("CREATE TABLE calendarinstances (
+ id SERIAL NOT NULL,
+ calendarid INTEGER NOT NULL,
+ principaluri VARCHAR(100),
+ access SMALLINT NOT NULL DEFAULT '1', -- '1 = owner, 2 = read, 3 = readwrite'
+ displayname VARCHAR(100),
+ uri VARCHAR(200),
+ description TEXT,
+ calendarorder INTEGER NOT NULL DEFAULT 0,
+ calendarcolor VARCHAR(10),
+ timezone TEXT,
+ transparent SMALLINT NOT NULL DEFAULT '0',
+ share_href VARCHAR(100),
+ share_displayname VARCHAR(100),
+ share_invitestatus SMALLINT NOT NULL DEFAULT '2' -- '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid'
+ );"
+ );
+
+ $r16 = q("ALTER TABLE ONLY calendarinstances ADD CONSTRAINT calendarinstances_pkey PRIMARY KEY (id);");
+
+ $r17 = q("CREATE UNIQUE INDEX calendarinstances_principaluri_uri ON calendarinstances USING btree (principaluri, uri);");
+
+ $r18 = q("CREATE UNIQUE INDEX calendarinstances_principaluri_calendarid ON calendarinstances USING btree (principaluri, calendarid);");
+
+ $r19 = q("CREATE UNIQUE INDEX calendarinstances_principaluri_share_href ON calendarinstances USING btree (principaluri, share_href);");
+
+ $r20 = q("CREATE TABLE calendarsubscriptions (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ principaluri VARCHAR(100) NOT NULL,
+ source TEXT,
+ displayname VARCHAR(100),
+ refreshrate VARCHAR(10),
+ calendarorder INTEGER NOT NULL DEFAULT 0,
+ calendarcolor VARCHAR(10),
+ striptodos SMALLINT NULL,
+ stripalarms SMALLINT NULL,
+ stripattachments SMALLINT NULL,
+ lastmodified INTEGER
+ );"
+ );
+
+ $r21 = q("ALTER TABLE ONLY calendarsubscriptions ADD CONSTRAINT calendarsubscriptions_pkey PRIMARY KEY (id);");
+
+ $r22 = q("CREATE UNIQUE INDEX calendarsubscriptions_ukey ON calendarsubscriptions USING btree (principaluri, uri);");
+
+ $r23 = q("CREATE TABLE calendarchanges (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ synctoken INTEGER NOT NULL,
+ calendarid INTEGER NOT NULL,
+ operation SMALLINT NOT NULL DEFAULT 0
+ );"
+ );
+
+ $r24 = q("ALTER TABLE ONLY calendarchanges ADD CONSTRAINT calendarchanges_pkey PRIMARY KEY (id);");
+
+ $r25 = q("CREATE INDEX calendarchanges_calendarid_synctoken_ix ON calendarchanges USING btree (calendarid, synctoken);");
+
+ $r26 = q("CREATE TABLE schedulingobjects (
+ id SERIAL NOT NULL,
+ principaluri VARCHAR(255),
+ calendardata BYTEA,
+ uri VARCHAR(200),
+ lastmodified INTEGER,
+ etag VARCHAR(32),
+ size INTEGER NOT NULL
+ );"
+ );
+
+ $r27 = q("CREATE TABLE locks (
+ id SERIAL NOT NULL,
+ owner VARCHAR(100),
+ timeout INTEGER,
+ created INTEGER,
+ token VARCHAR(100),
+ scope SMALLINT,
+ depth SMALLINT,
+ uri TEXT
+ );"
+ );
+
+ $r28 = q("ALTER TABLE ONLY locks ADD CONSTRAINT locks_pkey PRIMARY KEY (id);");
+
+ $r29 = q("CREATE INDEX locks_token_ix ON locks USING btree (token);");
+
+ $r30 = q("CREATE INDEX locks_uri_ix ON locks USING btree (uri);");
+
+ $r31 = q("CREATE TABLE principals (
+ id SERIAL NOT NULL,
+ uri VARCHAR(200) NOT NULL,
+ email VARCHAR(80),
+ displayname VARCHAR(80)
+ );"
+ );
+
+ $r32 = q("ALTER TABLE ONLY principals ADD CONSTRAINT principals_pkey PRIMARY KEY (id);");
+
+ $r33 = q("CREATE UNIQUE INDEX principals_ukey ON principals USING btree (uri);");
+
+ $r34 = q("CREATE TABLE groupmembers (
+ id SERIAL NOT NULL,
+ principal_id INTEGER NOT NULL,
+ member_id INTEGER NOT NULL
+ );"
+ );
+
+ $r35 = q("ALTER TABLE ONLY groupmembers ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (id);");
+
+ $r36 = q("CREATE UNIQUE INDEX groupmembers_ukey ON groupmembers USING btree (principal_id, member_id);");
+
+ $r37 = q("CREATE TABLE propertystorage (
+ id SERIAL NOT NULL,
+ path VARCHAR(1024) NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ valuetype INT,
+ value BYTEA
+ );"
+ );
+
+ $r38 = q("ALTER TABLE ONLY propertystorage ADD CONSTRAINT propertystorage_pkey PRIMARY KEY (id);");
+
+ $r39 = q("CREATE UNIQUE INDEX propertystorage_ukey ON propertystorage (path, name);");
+
+ $r40 = q("CREATE TABLE users (
+ id SERIAL NOT NULL,
+ username VARCHAR(50),
+ digesta1 VARCHAR(32)
+ );"
+ );
+
+ $r41 = q("ALTER TABLE ONLY users ADD CONSTRAINT users_pkey PRIMARY KEY (id);");
+
+ $r42 = q("CREATE UNIQUE INDEX users_ukey ON users USING btree (username);");
+
+ if(
+ $r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8 && $r9 && $r10
+ && $r11 && $r12 && $r13 && $r14 && $r15 && $r16 && $r17 && $r18 && $r19 && $r20
+ && $r21 && $r22 && $r23 && $r24 && $r25 && $r26 && $r27 && $r28 && $r29 && $r30
+ && $r31 && $r32 && $r33 && $r34 && $r35 && $r36 && $r37 && $r38 && $r39 && $r40
+ && $r41 && $r42
+ )
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+ }
+ else {
+ $r1 = q("CREATE TABLE if not exists addressbooks (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ principaluri VARBINARY(255),
+ displayname VARCHAR(255),
+ uri VARBINARY(200),
+ description TEXT,
+ synctoken INT(11) UNSIGNED NOT NULL DEFAULT '1',
+ UNIQUE(principaluri(100), uri(100))
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r2 = q("CREATE TABLE if not exists cards (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ addressbookid INT(11) UNSIGNED NOT NULL,
+ carddata MEDIUMBLOB,
+ uri VARBINARY(200),
+ lastmodified INT(11) UNSIGNED,
+ etag VARBINARY(32),
+ size INT(11) UNSIGNED NOT NULL
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r3 = q("CREATE TABLE if not exists addressbookchanges (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ synctoken INT(11) UNSIGNED NOT NULL,
+ addressbookid INT(11) UNSIGNED NOT NULL,
+ operation TINYINT(1) NOT NULL,
+ INDEX addressbookid_synctoken (addressbookid, synctoken)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r4 = q("CREATE TABLE if not exists calendarobjects (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ calendardata MEDIUMBLOB,
+ uri VARBINARY(200),
+ calendarid INTEGER UNSIGNED NOT NULL,
+ lastmodified INT(11) UNSIGNED,
+ etag VARBINARY(32),
+ size INT(11) UNSIGNED NOT NULL,
+ componenttype VARBINARY(8),
+ firstoccurence INT(11) UNSIGNED,
+ lastoccurence INT(11) UNSIGNED,
+ uid VARBINARY(200),
+ UNIQUE(calendarid, uri),
+ INDEX calendarid_time (calendarid, firstoccurence)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r5 = q("CREATE TABLE if not exists calendars (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ synctoken INTEGER UNSIGNED NOT NULL DEFAULT '1',
+ components VARBINARY(21)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r6 = q("CREATE TABLE if not exists calendarinstances (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ calendarid INTEGER UNSIGNED NOT NULL,
+ principaluri VARBINARY(100),
+ access TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1 = owner, 2 = read, 3 = readwrite',
+ displayname VARCHAR(100),
+ uri VARBINARY(200),
+ description TEXT,
+ calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ calendarcolor VARBINARY(10),
+ timezone TEXT,
+ transparent TINYINT(1) NOT NULL DEFAULT '0',
+ share_href VARBINARY(100),
+ share_displayname VARCHAR(100),
+ share_invitestatus TINYINT(1) NOT NULL DEFAULT '2' COMMENT '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid',
+ UNIQUE(principaluri, uri),
+ UNIQUE(calendarid, principaluri),
+ UNIQUE(calendarid, share_href)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r7 = q("CREATE TABLE if not exists calendarchanges (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ synctoken INT(11) UNSIGNED NOT NULL,
+ calendarid INT(11) UNSIGNED NOT NULL,
+ operation TINYINT(1) NOT NULL,
+ INDEX calendarid_synctoken (calendarid, synctoken)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r8 = q("CREATE TABLE if not exists calendarsubscriptions (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ principaluri VARBINARY(100) NOT NULL,
+ source TEXT,
+ displayname VARCHAR(100),
+ refreshrate VARCHAR(10),
+ calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ calendarcolor VARBINARY(10),
+ striptodos TINYINT(1) NULL,
+ stripalarms TINYINT(1) NULL,
+ stripattachments TINYINT(1) NULL,
+ lastmodified INT(11) UNSIGNED,
+ UNIQUE(principaluri, uri)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r9 = q("CREATE TABLE if not exists schedulingobjects (
+ id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ principaluri VARBINARY(255),
+ calendardata MEDIUMBLOB,
+ uri VARBINARY(200),
+ lastmodified INT(11) UNSIGNED,
+ etag VARBINARY(32),
+ size INT(11) UNSIGNED NOT NULL
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r10 = q("CREATE TABLE if not exists locks (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ owner VARCHAR(100),
+ timeout INTEGER UNSIGNED,
+ created INTEGER,
+ token VARBINARY(100),
+ scope TINYINT,
+ depth TINYINT,
+ uri VARBINARY(1000),
+ INDEX(token),
+ INDEX(uri(100))
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r11 = q("CREATE TABLE if not exists principals (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ uri VARBINARY(200) NOT NULL,
+ email VARBINARY(80),
+ displayname VARCHAR(80),
+ UNIQUE(uri)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r12 = q("CREATE TABLE if not exists groupmembers (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ principal_id INTEGER UNSIGNED NOT NULL,
+ member_id INTEGER UNSIGNED NOT NULL,
+ UNIQUE(principal_id, member_id)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r13 = q("CREATE TABLE if not exists propertystorage (
+ id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ path VARBINARY(1024) NOT NULL,
+ name VARBINARY(100) NOT NULL,
+ valuetype INT UNSIGNED,
+ value MEDIUMBLOB
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r14 = q("CREATE UNIQUE INDEX path_property ON propertystorage (path(600), name(100));");
+
+ $r15 = q("CREATE TABLE if not exists users (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ username VARBINARY(50),
+ digesta1 VARBINARY(32),
+ UNIQUE(username)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ $r16 = q("CREATE TABLE if not exists calendarinstances (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ calendarid INTEGER UNSIGNED NOT NULL,
+ principaluri VARBINARY(100),
+ access TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1 = owner, 2 = read, 3 = readwrite',
+ displayname VARCHAR(100),
+ uri VARBINARY(200),
+ description TEXT,
+ calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ calendarcolor VARBINARY(10),
+ timezone TEXT,
+ transparent TINYINT(1) NOT NULL DEFAULT '0',
+ share_href VARBINARY(100),
+ share_displayname VARCHAR(100),
+ share_invitestatus TINYINT(1) NOT NULL DEFAULT '2' COMMENT '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid',
+ UNIQUE(principaluri, uri),
+ UNIQUE(calendarid, principaluri),
+ UNIQUE(calendarid, share_href)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"
+ );
+
+ if($r1 && $r2 && $r3 && $r4 && $r5 && $r6 && $r7 && $r8 && $r9 && $r10 && $r11 && $r12 && $r13 && $r14 && $r15 && $r16)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+ }
+ }
+}
+
+function update_r1192() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("CREATE INDEX item_obj_type ON item (obj_type)");
+ }
+ else {
+ $r1 = q("ALTER TABLE item ADD INDEX (obj_type)");
+ }
+
+ if($r1)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1193() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("CREATE INDEX item_uid_unseen ON item (uid, item_unseen)");
+ }
+ else {
+ $r1 = q("ALTER TABLE item ADD INDEX uid_item_unseen (uid, item_unseen)");
+ }
+
+ if($r1)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+
+function update_r1194() {
+ $r = q("select id, resource_id from item where resource_type = 'nwiki'");
+ if($r) {
+ foreach($r as $rv) {
+ $mimetype = get_iconfig($rv['id'],'wiki','mimeType');
+ q("update item set mimetype = '%s' where resource_type = 'nwikipage' and resource_id = '%s'",
+ dbesc($mimetype),
+ dbesc($rv['resource_id'])
+ );
+ }
+ }
+
+ return UPDATE_SUCCESS;
+}
+
+function update_r1195() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("CREATE INDEX item_resource_id ON item (resource_id)");
+ }
+ else {
+ $r1 = q("ALTER TABLE item ADD INDEX (resource_id)");
+ }
+
+ if($r1)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
+function update_r1196() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("CREATE TABLE \"pchan\" (
+ \"pchan_id\" serial NOT NULL,
+ \"pchan_guid\" text NOT NULL,
+ \"pchan_hash\" text NOT NULL,
+ \"pchan_pubkey\" text NOT NULL,
+ \"pchan_prvkey\" text NOT NULL,
+ PRIMARY KEY (\"pchan_id\")
+)");
+
+ $r2 = q("create index \"pchan_guid\" on pchan (\"pchan_guid\")");
+ $r3 = q("create index \"pchan_hash\" on pchan (\"pchan_hash\")");
+
+ if($r1 && $r2 && $r3) {
+ return UPDATE_SUCCESS;
+ }
+ }
+ else {
+ $r1 = q("CREATE TABLE IF NOT EXISTS pchan (
+ pchan_id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ pchan_guid char(191) NOT NULL DEFAULT '',
+ pchan_hash char(191) NOT NULL DEFAULT '',
+ pchan_pubkey text NOT NULL,
+ pchan_prvkey text NOT NULL,
+ PRIMARY KEY (pchan_id),
+ KEY pchan_guid (pchan_guid),
+ KEY pchan_hash (pchan_hash)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
+ if($r1) {
+ return UPDATE_SUCCESS;
+ }
+ }
+
+ return UPDATE_FAILED;
} \ No newline at end of file