Příručka:Databázová tabulka user
↑ Manuál:Obsah | MediaWiki schéma databáze | Tabulka user |
Do tabulky user ukládá MediaWiki informace o uživatelích. Používáte-li Postgres, měla až do verze 1.37 tahle tabulka název mwuser.
Pole
Některé z následujících informací byly převzaty ty se souboru schema.doc
, který má MediaWiki uložen v adresáři docs/
.
user_id
user_id je primárním klíčem, který se používá jako jedinečný identifikátor uživatele.
user_name
user_name: Uživatelské jméno může být libovolný jedinečný (unikátní) řetězec, který není ve formě IP adresy. Nemělo by povolit lomítka nebo konflikty velkých a malých písmen. Více na stránce Příručka:$wgInvalidUsernameCharacters . Mezery jsou povoleny a podtržítka jsou automaticky převáděna na mezery (na rozdíl od názvů stránek, kde je tomu naopak).
user_real_name
Verze MediaWiki: | ≥ 1.3 |
user_real_name ukládá skutečné jméno uživatele (nepovinné), jak jej uvedl uživatel v sekci "Předvolby".
user_password
user_password je jeden ze tří formátů v závislosti na nastavení $wgPasswordDefault :
- Od MediaWiki 1.24 má $wgPasswordDefault výchozí hodnotu pbkdf2. V tomto případě získáte zřetězení:
- Řetězec ":pbkdf2:".
- Hašovací algoritmus použitý uvnitř vrstvy pbkdf2, ve výchozím nastavení "sha512".
- Dvojtečka (
:
). - Hodnota tohoto algoritmu, ve výchozím nastavení "30000".
- Dvojtečka (
:
). - Délka odvozeného klíče. "64" ve výchozím nastavení.
- Dvojtečka (
:
). - Base64 kódované salt hashovacího algoritmu, např. "kkdejKlBYFV7+LP2m2thYA=="
- Dvojtečka (
:
). - A konečně výsledek hashovacího algoritmu zakódovaný v base64 (který měl před kódováním base64 (výchozí) délku 128 bajtů). Hash uživatelského hesla ve formátu prostého textu.
- Od MediaWiki 1.24, pokud byl použit údržbový skript wrapOldPasswords.php , mohou hesla také začínat ":pbkdf2-legacyA:" nebo ":pbkdf2-legacyB:" jako ":pbkdf2-legacyB:!sha256:10000:128!...".
- Pro hesla napsaná MediaWiki 1.23 a starší, pokud $wgPasswordSalt byl true (výchozí), jedná se o zřetězení následujícího:
- U hesel napsaných MediaWiki 1.23 a starší, pokud $wgPasswordSalt bylo nepravdivé, jde o zřetězení následujícího:
- Řetězec ":A:"
- MD5 hash hesla.
user_newpassword
user_newpassword je generován pro funkci mail-a-new-password (poslat nové heslo).
user_newpass_time
user_newpass_time je nastaveno na aktuální časové razítko (wfTimestampNow()), pokud je nastaveno nové heslo. Stejně jako ostatní časová razítka je ve formátu časového razítka MediaWiki (yyyymmddhhmmss, např. 20130824025644).
user_email
user_options
Verze MediaWiki: | ≤ 1.18 |
user_options se od MediaWiki 1.16 již nepoužívá. Podívejte se na stránku Příručka:Databázová tabulka user_properties .
Na starších verzích mediawiki je to seznam párů name=value informací Special:Preferences oddělený novým řádkem. Staré uživatelské účty, které se od doby, kdy se pole přestalo používat, nepřihlásili, mohou mít toto pole stále nastavené.
user_touched
user_touched, kdy se uživatel naposledy přihlásil (ne jen pouhou návštěvou pomocí existující relace), upravil uživatelská nastavení nebo byl povýšen do nových skupin uživatelů.
user_token
Verze MediaWiki: | ≥ 1.4 |
user_token je pseudonáhodně generovaná hodnota.
Když uživatel zaškrtne "Nechte mě přihlášeného (až 365 dní)", hodnota se uloží do trvalého souboru cookie prohlížeče ${wgCookiePrefix}Token
, který ověří uživatele a zároveň je odolný proti falšování.
user_email_authenticated
user_email_authenticated je časové razítko, kdy byl e-mail uživatele ověřen. Výchozí hodnota je NULL.
user_email_token
Verze MediaWiki: | ≥ 1.5 |
user_email_token je token používaný pro potvrzení e-mailové adresy. Viz User::newFromConfirmationCode v User.php
user_email_token_expires
user_email_token_expires je časové razítko vypršení platnosti e-mailového tokenu.
user_registration
Verze MediaWiki: | ≥ 1.6 |
user_registration je časové razítko (datum a čas), kdy se uživatel zaregistroval. Pro staré uživatele může být pro toto pole hodnota NULL. Pro zpětné vyplnění tohoto pole lze použít skript fixUserRegistration.php .
user_editcount
Verze MediaWiki: | ≥ 1.9 |
user_editcount je hrubý počet úprav a akcí podobných úpravám, které uživatel provedl. Následující akce se počítají jako úpravy:
- Vytváření nebo úprava stránky MediaWiki, i když bude revize nebo stránka později smazána (tj. provedení nenulové úpravy)
- Vytváření nebo úprava příspěvku na nástěnce strukturované diskuse (dříve "Flow")
- Přesunutí stránky na nový název (od verze 1.30)
- Přesměrování vytvořené přesunem stránky (od verze 1.38, ale navrhované vrácení viz T296035)
Toto pole není přesnou kopií COUNT(*) FROM revision WHERE rev_user = user_id
.
Mělo by však být zhruba přesné, pokud jsou aktualizační skripty spouštěny konzistentně a je to jediné místo, kde má software k dispozici údaje o počtu úprav, takže se stále používá pro vážné účely, jako je rozhodování, zda byly účty automaticky propagovány.
Tato hodnota může být nesprávná z několika důvodů. Může být například zastaralý nebo u starých účtů NULL, pokud nebyl spuštěn aktualizační skript (initEditCount.php ). Některá smazání jej také nemusí trvale ovlivnit.
user_emailauthenticationtimestamp
Verze MediaWiki: | ≤ 1.3 |
Odstraněno ve verzi 1.4.
user_password_expires
Verze MediaWiki: | ≥ 1.23 |
Datum vypršení platnosti hesla uživatele. Null bez data vypršení platnosti.
user_is_temp
Verze MediaWiki: | ≥ 1.41 Gerrit change 918513 |
Booleovská hodnota představující, zda je uživatel dočasným uživatelem. Nula, pokud jde o jiný typ uživatele než dočasného uživatele. Toto existuje proto, aby bylo možné dočasné uživatele identifikovat pouze z databáze externími aplikacemi.
Přehled změn ve schématu tabulky
Verze MediaWiki: | ≥ 1.41 |
DESCRIBE user;
+--------------------------+------------------+------+-----+----------------------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+------------------+------+-----+----------------------------------+----------------+ | user_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | user_name | varbinary(255) | NO | UNI | | | | user_real_name | varbinary(255) | NO | | | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | binary(14) | YES | | NULL | | | user_email | tinyblob | NO | MUL | NULL | | | user_touched | binary(14) | NO | | NULL | | | user_token | binary(32) | NO | | | | | user_email_authenticated | binary(14) | YES | | NULL | | | user_email_token | binary(32) | YES | MUL | NULL | | | user_email_token_expires | binary(14) | YES | | NULL | | | user_registration | binary(14) | YES | | NULL | | | user_editcount | int(10) unsigned | YES | | NULL | | | user_password_expires | varbinary(14) | YES | | NULL | | | user_is_temp | tinyint(1) | NO | | 0 | | +--------------------------+------------------+------+-----+----------------------------------+----------------+
Verze MediaWiki: | 1.39 – 1.40 |
DESCRIBE user;
+--------------------------+------------------+------+-----+----------------------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+------------------+------+-----+----------------------------------+----------------+ | user_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | user_name | varbinary(255) | NO | UNI | | | | user_real_name | varbinary(255) | NO | | | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | binary(14) | YES | | NULL | | | user_email | tinyblob | NO | MUL | NULL | | | user_touched | binary(14) | NO | | NULL | | | user_token | binary(32) | NO | | | | | user_email_authenticated | binary(14) | YES | | NULL | | | user_email_token | binary(32) | YES | MUL | NULL | | | user_email_token_expires | binary(14) | YES | | NULL | | | user_registration | binary(14) | YES | | NULL | | | user_editcount | int(10) unsigned | YES | | NULL | | | user_password_expires | varbinary(14) | YES | | NULL | | +--------------------------+------------------+------+-----+----------------------------------+----------------+
Verze MediaWiki: | 1.36 – 1.38 |
DESCRIBE user;
+--------------------------+------------------+------+-----+----------------------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+------------------+------+-----+----------------------------------+----------------+ | user_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | user_name | varbinary(255) | NO | UNI | | | | user_real_name | varbinary(255) | NO | | | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | binary(14) | YES | | NULL | | | user_email | tinyblob | NO | MUL | NULL | | | user_touched | binary(14) | NO | | NULL | | | user_token | binary(32) | NO | | | | | user_email_authenticated | binary(14) | YES | | NULL | | | user_email_token | binary(32) | YES | MUL | NULL | | | user_email_token_expires | binary(14) | YES | | NULL | | | user_registration | binary(14) | YES | | NULL | | | user_editcount | int(11) | YES | | NULL | | | user_password_expires | varbinary(14) | YES | | NULL | | +--------------------------+------------------+------+-----+----------------------------------+----------------+
Verze MediaWiki: | 1.23 – 1.35 |
DESCRIBE user;
+--------------------------+------------------+------+-----+----------------------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+------------------+------+-----+----------------------------------+----------------+ | user_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | user_name | varbinary(255) | NO | UNI | | | | user_real_name | varbinary(255) | NO | | | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | binary(14) | YES | | NULL | | | user_email | tinyblob | NO | MUL | NULL | | | user_touched | binary(14) | NO | | | | | user_token | binary(32) | NO | | | | | user_email_authenticated | binary(14) | YES | | NULL | | | user_email_token | binary(32) | YES | MUL | NULL | | | user_email_token_expires | binary(14) | YES | | NULL | | | user_registration | binary(14) | YES | | NULL | | | user_editcount | int(11) | YES | | NULL | | | user_password_expires | varbinary(14) | YES | | NULL | | +--------------------------+------------------+------+-----+----------------------------------+----------------+
Verze MediaWiki: | 1.19 – 1.22 |
DESCRIBE user;
+--------------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+----------------+ | user_id | int(10) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | binary(14) | YES | | NULL | | | user_email | tinytext | NO | MUL | NULL | | | user_touched | binary(14) | NO | | NULL | | | user_token | binary(32) | NO | | NULL | | | user_email_authenticated | binary(14) | YES | | NULL | | | user_email_token | binary(32) | YES | MUL | NULL | | | user_email_token_expires | binary(14) | YES | | NULL | | | user_registration | binary(14) | YES | | NULL | | | user_editcount | int(11) | YES | | NULL | | +--------------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.18 |
DESCRIBE user;
+--------------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+----------------+ | user_id | int(10) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | binary(14) | YES | | NULL | | | user_email | tinytext | NO | MUL | NULL | | | user_options | blob | NO | | NULL | | | user_touched | binary(14) | NO | | NULL | | | user_token | binary(32) | NO | | NULL | | | user_email_authenticated | binary(14) | YES | | NULL | | | user_email_token | binary(32) | YES | MUL | NULL | | | user_email_token_expires | binary(14) | YES | | NULL | | | user_registration | binary(14) | YES | | NULL | | | user_editcount | int(11) | YES | | NULL | | +--------------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.10 – 1.17 |
DESCRIBE user;
+--------------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+----------------+ | user_id | int(10) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | binary(14) | YES | | NULL | | | user_email | tinytext | NO | | NULL | | | user_options | blob | NO | | NULL | | | user_touched | binary(14) | NO | | NULL | | | user_token | binary(32) | NO | | NULL | | | user_email_authenticated | binary(14) | YES | | NULL | | | user_email_token | binary(32) | YES | MUL | NULL | | | user_email_token_expires | binary(14) | YES | | NULL | | | user_registration | binary(14) | YES | | NULL | | | user_editcount | int(11) | YES | | NULL | | +--------------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.9 |
DESCRIBE user;
+--------------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+----------------+ | user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_newpass_time | char(14) binary | YES | | NULL | | | user_email | tinytext | NO | | NULL | | | user_options | blob | NO | | NULL | | | user_touched | char(14) binary | NO | | NULL | | | user_token | char(32) binary | NO | | NULL | | | user_email_authenticated | char(14) binary | YES | | NULL | | | user_email_token | char(32) binary | YES | MUL | NULL | | | user_email_token_expires | char(14) binary | YES | | NULL | | | user_registration | char(14) binary | YES | | NULL | | | user_editcount | int(11) | YES | | NULL | | +--------------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.6 – 1.8 |
DESCRIBE user;
+--------------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+----------------+ | user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_email | tinytext | NO | | NULL | | | user_options | blob | NO | | NULL | | | user_touched | char(14) binary | NO | | NULL | | | user_token | char(32) binary | NO | | NULL | | | user_email_authenticated | char(14) binary | YES | | NULL | | | user_email_token | char(32) binary | YES | MUL | NULL | | | user_email_token_expires | char(14) binary | YES | | NULL | | | user_registration | char(14) binary | YES | | NULL | | +--------------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.5 |
DESCRIBE user;
+--------------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+----------------+ | user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_email | tinytext | NO | | NULL | | | user_options | blob | NO | | NULL | | | user_touched | char(14) binary | NO | | NULL | | | user_token | char(32) binary | NO | | NULL | | | user_email_authenticated | char(14) binary | YES | | NULL | | | user_email_token | char(32) binary | YES | MUL | NULL | | | user_email_token_expires | char(14) binary | YES | | NULL | | +--------------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.4 |
DESCRIBE user;
+------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+---------------------+------+-----+---------+----------------+ | user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_email | tinytext | NO | | NULL | | | user_options | blob | NO | | NULL | | | user_touched | char(14) binary | NO | | NULL | | +------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.3 |
DESCRIBE user;
+------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+---------------------+------+-----+---------+----------------+ | user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_real_name | varchar(255) binary | NO | | NULL | | | user_rights | tinyblob | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_email | tinytext | NO | | NULL | | | user_options | blob | NO | | NULL | | | user_touched | char(14) binary | NO | | NULL | | +------------------+---------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.1 – 1.2 |
DESCRIBE user;
+------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+---------------------+------+-----+---------+----------------+ | user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT | | user_name | varchar(255) binary | NO | MUL | NULL | | | user_rights | tinyblob | NO | | NULL | | | user_password | tinyblob | NO | | NULL | | | user_newpassword | tinyblob | NO | | NULL | | | user_email | tinytext | NO | | NULL | | | user_options | blob | NO | | NULL | | | user_touched | char(14) binary | NO | | NULL | | +------------------+---------------------+------+-----+---------+----------------+
Indexy
Verze MediaWiki: | ≥ 1.18 |
SHOW INDEX IN user;
+-------+------------+------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +-------+------------+------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | user | 0 | PRIMARY | 1 | user_id | A | 0 | NULL | NULL | | BTREE | | | | user | 0 | user_name | 1 | user_name | A | 0 | NULL | NULL | | BTREE | | | | user | 1 | user_email_token | 1 | user_email_token | A | 0 | NULL | NULL | YES | BTREE | | | | user | 1 | user_email | 1 | user_email | A | 0 | 50 | NULL | | BTREE | | | +-------+------------+------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+