Manual:Sites table

The sites table, introduced in in May 2013, holds all the sites known to the wiki.

site_id
Numeric id of the site. This is an auto-incrementing primary key.

site_global_key
Global identifier for the site, ie 'enwiktionary'

site_type
Type of the site, ie 'mediawiki'

site_group
Group of the site, ie 'wikipedia'

site_source
Source of the site data, ie 'local', 'wikidata', 'my-magical-repo'

site_language
Language code of the sites primary language.

site_protocol
Protocol of the site, i.e.,  ,.

This field is an index for lookups and is built from type specific data in site_data.

site_domain
Domain of the site in reverse order, ie ' gro.ikiwaidem.www. '.

This field is an index for lookups and is built from type specific data in site_data.

site_data
Type dependent site data.

site_forward
If site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.

site_config
Type dependent site config. For instance if template transclusion should be allowed if it's a MediaWiki.

Managing the sites table
The sites table is shipped without data for a new MediaWiki installation.

Importing sites table from another wiki
There're two ways of populating the sites table using another wiki as a source. If you have access to the other wiki's server, you can run the maintenance script and import the data using the  maintenance script of your MediaWiki installation.

If you don't have access to the other wiki's server but the other MediaWiki installation has the SiteMatrix extension installed, you can use a maintenance script from the Wikibase extension to import all sites from the other wiki.

Adding a new site
If you want to add a new site into your MediaWiki's site table, you can use the maintenance script.

Additionally, the above mentioned maintenance script can be used to add an arbitrary group of wikis from custom made XML file in the following format:

Each element representing a site.

and can be inferred from  page of the intended wiki.

Insert wiki family (using Script)
Sometimes, you have to add your wikis in this table. You can use this code:

Reloading the cached sites table
MediaWiki caches the sites table in the local-server cache if it is available (ACPu or WinCache installed). After making changes to the sites table using any of the above methods, you should reload or restart any long-running MediaWiki PHP processes: your web server, continuous (if any), etc. Otherwise, changes to the sites table will only become effective after the cache expires.

Schema summary
+-+--+--+-+-++ +-+--+--+-+-++ +-+--+--+-+-++
 * Field          | Type             | Null | Key | Default | Extra          |
 * site_id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
 * site_global_key | varbinary(64)   | NO   | UNI | NULL    |                |
 * site_type      | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_group     | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_source    | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_language  | varbinary(35)    | NO   | MUL | NULL    |                |
 * site_protocol  | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_domain    | varbinary(255)   | NO   | MUL | NULL    |                |
 * site_data      | blob             | NO   |     | NULL    |                |
 * site_forward   | tinyint(1)       | NO   | MUL | NULL    |                |
 * site_config    | blob             | NO   |     | NULL    |                |

+-+--+--+-+-++ +-+--+--+-+-++ +-+--+--+-+-++
 * Field          | Type             | Null | Key | Default | Extra          |
 * site_id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
 * site_global_key | varbinary(32)   | NO   | UNI | NULL    |                |
 * site_type      | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_group     | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_source    | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_language  | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_protocol  | varbinary(32)    | NO   | MUL | NULL    |                |
 * site_domain    | varbinary(255)   | NO   | MUL | NULL    |                |
 * site_data      | blob             | NO   |     | NULL    |                |
 * site_forward   | tinyint(1)       | NO   | MUL | NULL    |                |
 * site_config    | blob             | NO   |     | NULL    |                |