mirror of
https://github.com/YunoHost-Apps/mediawiki_ynh.git
synced 2024-09-03 19:46:05 +02:00
71 lines
No EOL
2.9 KiB
SQL
71 lines
No EOL
2.9 KiB
SQL
-- Patch to add the sites and site_identifiers tables.
|
|
-- Licence: GNU GPL v2+
|
|
-- Author: Jeroen De Dauw < jeroendedauw@gmail.com >
|
|
|
|
|
|
-- Holds all the sites known to the wiki.
|
|
CREATE TABLE IF NOT EXISTS /*_*/sites (
|
|
-- Numeric id of the site
|
|
site_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
|
|
-- Global identifier for the site, ie 'enwiktionary'
|
|
site_global_key varbinary(32) NOT NULL,
|
|
|
|
-- Type of the site, ie 'mediawiki'
|
|
site_type varbinary(32) NOT NULL,
|
|
|
|
-- Group of the site, ie 'wikipedia'
|
|
site_group varbinary(32) NOT NULL,
|
|
|
|
-- Source of the site data, ie 'local', 'wikidata', 'my-magical-repo'
|
|
site_source varbinary(32) NOT NULL,
|
|
|
|
-- Language code of the sites primary language.
|
|
site_language varbinary(32) NOT NULL,
|
|
|
|
-- Protocol of the site, ie 'http://', 'irc://', '//'
|
|
-- This field is an index for lookups and is build from type specific data in site_data.
|
|
site_protocol varbinary(32) NOT NULL,
|
|
|
|
-- Domain of the site in reverse order, ie 'org.mediawiki.www.'
|
|
-- This field is an index for lookups and is build from type specific data in site_data.
|
|
site_domain VARCHAR(255) NOT NULL,
|
|
|
|
-- Type dependent site data.
|
|
site_data BLOB NOT NULL,
|
|
|
|
-- If site.tld/path/key:pageTitle should forward users to the page on
|
|
-- the actual site, where "key" is the local identifier.
|
|
site_forward bool NOT NULL,
|
|
|
|
-- Type dependent site config.
|
|
-- For instance if template transclusion should be allowed if it's a MediaWiki.
|
|
site_config BLOB NOT NULL
|
|
) /*$wgDBTableOptions*/;
|
|
|
|
CREATE UNIQUE INDEX /*i*/sites_global_key ON /*_*/sites (site_global_key);
|
|
CREATE INDEX /*i*/sites_type ON /*_*/sites (site_type);
|
|
CREATE INDEX /*i*/sites_group ON /*_*/sites (site_group);
|
|
CREATE INDEX /*i*/sites_source ON /*_*/sites (site_source);
|
|
CREATE INDEX /*i*/sites_language ON /*_*/sites (site_language);
|
|
CREATE INDEX /*i*/sites_protocol ON /*_*/sites (site_protocol);
|
|
CREATE INDEX /*i*/sites_domain ON /*_*/sites (site_domain);
|
|
CREATE INDEX /*i*/sites_forward ON /*_*/sites (site_forward);
|
|
|
|
|
|
|
|
-- Links local site identifiers to their corresponding site.
|
|
CREATE TABLE IF NOT EXISTS /*_*/site_identifiers (
|
|
-- Key on site.site_id
|
|
si_site INT UNSIGNED NOT NULL,
|
|
|
|
-- local key type, ie 'interwiki' or 'langlink'
|
|
si_type varbinary(32) NOT NULL,
|
|
|
|
-- local key value, ie 'en' or 'wiktionary'
|
|
si_key varbinary(32) NOT NULL
|
|
) /*$wgDBTableOptions*/;
|
|
|
|
CREATE UNIQUE INDEX /*i*/site_ids_type ON /*_*/site_identifiers (si_type, si_key);
|
|
CREATE INDEX /*i*/site_ids_site ON /*_*/site_identifiers (si_site);
|
|
CREATE INDEX /*i*/site_ids_key ON /*_*/site_identifiers (si_key); |