该表可以被认为是“维基的核心”。MediaWiki安装中的每个页面都有一个条目,按标题标识它并包含一些基本元数据。它首先在r6710中的MediaWiki 1.5中引入。
页面本身的文本存储在 text 表中。要检索文章的文本,MediaWiki首先在 page 表中搜索 page_title。然后,page_latest 用于在 revision 表中搜索 rev_id ,并在该过程中获取rev_text_id。为rev_text_id获取的值用于在 text 表中搜索 old_id 以检索文本。删除页面时,修订将移动到 archive 表。
参考与: https://www.mediawiki.org/wiki/Manual:Page_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | page_id | int unsigned | √ | 页面ID(主键) |
2 | page_namespace | int | √ | 页面命名空间,页面是普通页时该值为0;是图片页时该值为6;是分类页时该值为14. |
3 | page_title | varchar(255) | √ | 页面标题,页面命名空间和页面标题唯一标识 |
4 | page_restrictions | tinyblob | √ | 一个页面一组逗号分隔的permission key,指明谁可以移动或编辑此页面 |
5 | page_lang | varbinary | 页面内容语言。 在页面创建时设置为NULL的默认值。 | |
6 | page_is_redirect | tinyint unsigned | √ | 此处的值为1表示文章是重定向; 在所有其他情况下它是0。 |
7 | page_is_new | tinyint unsigned | √ | 此字段存储页面是否为新页面,这意味着它要么只有一个修订版本,要么自还原后尚未编辑,即使有多个修订版本也是如此。 如果该字段包含值1,则表示该页面是新的; 否则,它为0.如果页面是新的,则不显示回滚链接,因为没有可回滚的内容。 |
8 | page_random | real unsigned | √ | 随机十进制值,介于0和1之间,用于特殊:随机(有关详细信息,请参见手册:随机页面)。 由wfRandom()生成。 |
9 | page_touched | binary(14) | √ | 每当页面以需要重新呈现的方式改变时,该时间戳就会更新,从而使高速缓存无效。 除编辑外,还包括权限更改,链接页面的创建或删除以及所包含模板的更改。 在页面创建时设置为$ dbw-> timestamp()。 |
10 | page_links_updated | varbinary(14) | 页面被重新解析的时间(此时链接表中的记录执行更新操作) | |
11 | page_latest | int unsigned | √ | 页面的最新版本,指向revision表的rev_id |
12 | page_len | int unsigned | √ | 页面当前源文本的未压缩长度(以字节为单位)。 但是,这不适用于此表中仍有记录的图像。相反, description 使用文件的未压缩长度(以字节为单位),因为后者在text.old_text 字段中。includes / WikiPage.php中的Wikipage类有两个方法,即insertOn()和updateRevisionOn(),它们负责填充这些细节。 |
13 | page_content_model | varbinary(32) | 内容模型(如wikitext) | |
14 | 索引 | 主键:page_id 外键:page_latest -> revision.rev_id |
修订表包含对wiki中的页面所做的每个编辑的元数据。每次编辑页面都会创建一个修订行,其中包含进行编辑的用户,编辑时间以及文本表中新wiki文本的引用等信息。
请注意,行部分是关于编辑操作,部分是关于该操作的结果,即新的wiki文本。它没有直接引用旧的wiki文本。
从另一个wiki导入页面的最后一个修订版会在修订表中生成两个条目,一个条目包含导入修订版本的日期和wiki文本,另一个条目包含导入日期。如果已经存在具有相同名称的页面,则后者的wikitext成为当前页面的wikitext,即两页中最近的页面。
修订表与recentchanges表非常相似。修订表用于页面历史记录和用户贡献列表。 recentchanges表用于最近的更改,相关更改,关注列表,以及在页面创建的情况下,用于新页面列表。
差异包括:
recentchanges表还记录了已记录的事件,例如页面移动和删除
recentchanges表中的项目会定期清除;除非页面被删除或站点所有者运行deleteOldRevisions.php维护脚本,否则修订表中的那些将永久保留。
如上所述,导入页面修订版不仅会在修订表中添加一个带有导入日期的条目,还会添加一个带有原始日期的条目。
已删除的修订将移至归档表。
在MediaWiki 1.5中引入了修订表和文本表以取代cur表。
参考与:https://www.mediawiki.org/wiki/Manual:Revision_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | rev_id | int unsigned | √ | 该字段包含每个修订的主键。 page.page_latest是此字段的外键。自从表格在MediaWiki 1.5中开始以来,rev_id和text_id取代了旧的cur_id,因此rev_id号码在删除/取消删除时保留。 |
2 | rev_page | int unsigned | √ | 此字段包含对此修订所属页面的引用。 该字段中的数字等于所述页面的page_id字段。 这永远不应该是无效的; 如果是,则该修订将不会显示在页面历史记录中。 如果page.page_latest链接到具有无效rev_page的修订,则会导致“名为’Foo’的页面的修订版#0不存在”错误。 (修订版缺少插槽和内容时可能会出现类似问题) |
3 | rev_text_id | int unsigned | √ | 这是text表中old_id的外键。 (text表是存储实际批量文本的位置。)多个修订版可能使用相同的文本 - 例如,仅更改元数据的修订版,或者对先前版本执行回滚的修订版。 (在1.31中不推荐使用)如果存在slots.slot_revision_id = rev_id的slots表中的行,则应忽略该字段(可能为0),以支持来自slots和content表的相应数据。 |
4 | rev_comment | tinyblob | √ | 此字段包含对包含编辑器注释的注释行的引用。 |
5 | rev_user | int unsigned | √ | 这等于进行此编辑的用户的user_id。 对于匿名编辑,初始化脚本和某些批量导入,此字段的值为0。 |
6 | rev_user_text | varchar(255) | √ | 如果修订由未注册用户完成,则此字段包含编辑者用户名的文本或编辑器的IP地址。 在从UseModWiki导入的匿名修订或第二阶段软件的早期版本中,此字段可能包含一个IP地址,最终八位字节被遮挡(i.e. \ d {1,3} \。\ d {1,3} \。\ d { 1,3} \ .xxx,如24.150.61.xxx;见bug 3631)。 从UseModWiki导入的某些编辑可能包含反向DNS查找主机名,如ppfree165-153-bz.aknet.it或office.bomis.com。 |
7 | rev_timestamp | binary(14) | √ | 保存编辑的时间戳。 |
8 | rev_minor_edit | tinyint unsigned | √ | 记录用户是否标记了“次要编辑”复选框。 如果此字段的值为1,则编辑被声明为“次要”; 否则是0。 许多自动编辑都标记为次要编辑。 |
9 | rev_deleted | tinyint unsigned | √ | 该字段保留给RevisionDelete系统。 它是一个位域,其值为DELETED_TEXT = 1; DELETED_COMMENT = 2; DELETED_USER = 4; 和DELETED_RESTRICTED = 8.因此,例如,如果没有从该修订中删除任何内容,则该值为0; 如果注释和用户都已删除,则值为6。 |
10 | rev_len | int unsigned | 该版本的长度(以字节为单位) | |
11 | rev_parent_id | int unsigned | 页面上一次修订的rev_id。 对应于rc_last_oldid。 对于作为新页面创建的编辑,rev_parent_id = 0。 | |
12 | rev_sha1 | varbinary(32) | √ | base-36编码的文本内容哈希值(SHA-1算法) |
13 | rev_content_model | varbinary(32) | 内容模型,请参阅Defines.php中的CONTENT_MODEL_XXX常量。 这些ID将在API和XML转储中公开。 定义自己的内容模型ID的扩展应该注意避免冲突。 建议使用扩展名作为前缀,例如’myextension-somecontent’。 可能的值包括:‘wikitext’,‘javascript’,‘css’,‘text’和’json’ (在1.31中弃用)如果使用slot_revision_id = rev_id的slot表中的行应忽略(并且可能为NULL),以支持来自插槽和内容表的相应数据。 |
|
14 | rev_content_format | varbinary(64) | 内容格式,请参阅Defines.php中的CONTENT_FORMAT_XXX常量。 这些应该是MIME类型,并将在API和XML转储中公开。 扩展程序可以免费使用以下格式,或定义自己的格式。 建议坚持使用MIME类型的约定。 可能的值包括:‘text / x-wiki’,‘text / javascript’,‘text / css’,‘text / plain’,‘text / html’,‘application / vnd.php.serialized’,‘application / json’,‘application / xml’ (在1.31中弃用)如果存在slot_revision_id = rev_id的槽表中的行,则应忽略该字段(并且可以为NULL)。 |
|
15 | 索引 | 主键:rev_id 外键:rev_page -> page. page_id rev_text_id -> text.old_id rev_user -> user.user_id rev_parent_id -> revision.rev_id |
该表包含各个页面修订的wiki文本。 如果使用Postgres或Oracle,则此表名为pagecontent。 扩展程序也可以在此处存储数据。
字段名称是MediaWiki 1.4及更早版本中旧版本表的保留。
如果您将Wiki从MediaWiki 1.4或更早版本更新到较新版本,并且如果您已经至少运行一次update.php,那么您仍然会在文本表中使用旧列,其内容已迁移到页表并且 revision 表(内容被复制,不被剪切)。 text表中的这些列将不再使用。 除了old_id,old_text和old_flags之外,text表中的所有字段都不再需要,可以安全删除。
文本内容可以在外部压缩或存储,因此很难从该表中获取。 fetchText.php维护脚本可用于检索给定old_id的文本。
参考与: https://www.mediawiki.org/wiki/Manual:Text_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | old_id | int unsigned | √ | 用于标识每个文本的唯一整数。 它由内容表中的content.content_address引用。 在多内容修订实现之前,revison表中的revision.rev_text_id和archive表中的ar_text_id是此列的键。 |
2 | old_text | mediumblob | √ | 页面的wiki文本,或指向DB:// cluster / id形式的外部存储的指针 |
3 | old_flags | tinyblob | √ | 文本格式(如gzip, utf8, object) |
4 | 索引 | 主键:old_id |
存储标签,说明和实体的别名。
参考与 : https://www.mediawiki.org/wiki/Wikibase/Schema/wb_terms
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | term_row_id | bigint | √ | 唯一的行ID。 |
term_entity_id | int | √ | ||
3 | term_full_entity_id | varbinary | 实体的完整实体ID,例如:G。“Q42”或“P31”。 | |
4 | term_entity_type | varbinary | √ | 包含具有以下值之一的纯文本字符串: |
5 | term_language | varbinary | √ | 存储语言格式,比如zh-cn |
6 | term_type | varbinary | √ | 包含具有以下值之一的纯文本字符串: label- 用于以特定语言表示维基数据中描述的实体的主要标签, description - 简要说明以澄清标签的含义 alias - 也称为 - 所选语言中的替代标签,主要用于按名称搜索项目。 |
7 | term_text | varbinary | √ | 存储标签,描述和别名的文本值。 |
8 | term_search_key | varbinary | √ | 与term_text contains 相同的值,但为搜索标准化,例如全部小写 |
9 | term_weight | float | √ |
记录条目,属性变化记录
参考与 : https://www.mediawiki.org/wiki/Wikibase/Schema/wb_changes
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | change_id | int | √ | 唯一的行ID |
2 | change_type | varbinary | √ | 发生变化的类型: wikibase-property~add - 属性增加 wikibase-item~add - 条目增加 wikibase-property~update - 属性修改 wikibase-item~update - 条目修改 |
3 | change_time | varbinary | √ | 修改的时间 |
4 | change_object_id | varbinary | √ | 修改的条目或者属性ID,例如:“Q5”,“P10” |
5 | change_revision_id | int | √ | 其和revision中的rev_id一样 |
6 | change_user_id | int | √ | 修改人ID |
7 | change_info | mediumblob | √ | 以JSON格式存储新的整页数据。 |
8 | 索引 | 主键: change_id |
参考与 : https://wikimedi.ca/extensions/Wikibase/docs/change-propagation.wiki
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | chd_site | varbinary | √ | 用其全局站点ID标识目标wiki。 |
2 | chd_db | varbinary | √ | 指定客户端wiki的逻辑数据库名称。 |
3 | chd_seen | int(11) | √ | 包含发送到此客户端wiki的最后一个更改ID。 |
4 | chd_touched | varbinary | √ | 表示该行最后一次更新的时间。这仅适用于报告和调试。 |
5 | chd_lock | varbinary | 某个进程当前在这一行上保存的某种锁的名称。锁名称应指示锁定机制。锁定机制应该能够可靠地检测属于死进程的陈旧锁。 | |
6 | chd_disabled | tinyint | √ | 设置为1以禁用此wiki的调度。 |
7 | 索引 | 主键:chd_site |
订阅表跟踪哪个客户端wiki正在使用哪个实体。 此信息用于决定在更改实体时确定需要通知哪个客户端Wiki。
参考与: https://www.mediawiki.org/wiki/Wikibase/Schema/wb_changes_subscription
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | cs_row_id | bigint | √ | 自动递增行ID供内部使用; 首要的关键。 |
2 | cs_entity_id | varbinary | √ | 客户端wiki上使用的实体的ID。 |
3 | cs_subscriber_id | varbinary | √ | 使用实体的wiki的全局ID(由sites表使用)(通过WMF约定,与数据库名称相同)。 |
4 | 索引 | 主键: cs_row_id |
为项目存储一个计数器,为属性存储一个计数器,为存储在wikibase存储库中的词汇存储一个。 将来可以添加其他类型的实体。
参考与 : https://www.mediawiki.org/wiki/Wikibase/Schema/wb_id_counters
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | id_value | int(10) unsigned | √ | 记录维基属性和条目的个数,比如 wikibase-item的值为66087621 |
2 | id_type | varbinary(32) | √ | 实例值: - wikibase-item - wikibase-property - wikibase-lexeme 维基数据生产中的表目前仅包含这三行。 |
3 | 索引 |
此表包含从项目到维基百科文章的链接。
参考与 : https://www.mediawiki.org/wiki/Wikibase/Schema/wb_items_per_site
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ips_row_id | bigint(20) unsigned | √ | 主键ID |
2 | ips_item_id | int(10) unsigned | √ | 项目的QId数。 这是page.page_title减去Q 例如:page.page_title : Q5,这里即为 5 |
3 | ips_site_id | varbinary(32) | √ | 链接到的网站的ID。 示例:enwiki,commonswiki,be_x_oldwiki |
4 | ips_site_page | varbinary(310) | √ | 链接的页面的名称。 这是非规范化的,因此它使用空格而不是下划线,并且可能包含命名空间名称。 |
5 | 索引 | 主键:ips_row_id |
与wikibase属性相关的辅助信息的查找表。 此信息源自描述属性的主数据blob(读取:包含JSON的wiki页面)。
参考与 : https://www.mediawiki.org/wiki/Wikibase/Schema/wb_property_info
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | pi_property_id | int(10) unsigned | √ | 如果属性的ID,主键,如果已知属性的命名空间,则可以对page.page_title进行连接。 |
2 | pi_type | varbinary(32) | √ | 属性的数据类型。 这从pi_info的内容重复,以允许有效地按类型查询属性。 |
3 | pi_info | blob | √ | 包含与属性关联的信息的 JSON BLOD |
4 | 索引 | 主键 : pi_property_id |
该表包含关于维基网页使用了实体的信息。此信息主要用于在实体更改时清除所有受影响页面的解析器缓存。
参考与 : https://www.mediawiki.org/wiki/Wikibase/Schema/wbc_entity_usage
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | eu_row_id | bigint(20) | √ | 自动递增行ID供内部使用。主键 |
2 | eu_entity_id | varbinary(255) | √ | 使用的实体的ID。 |
3 | eu_aspect | varbinary(37) | √ | 使用实体的方面。众所周知的值: - S(“附加链接”):使用实体的附加链接。 - L(“label”):语言xx中实体的标签发生了变化。 -L.xx(“XX中的标签”):标签方面可以具有指定所用语言的修饰符。 - T(“标题”):使用与实体对应的本地页面的标题。 - O(“其他”):其他方面,不是附加链接,标签或标题。通常是陈述。 - X(“所有”):使用或可以使用其他方面(例如语句数据)或所有方面。 |
4 | eu_page_id | int(11) | √ | 使用实体的页面ID; 是指page.page_id。 |
actor表是MediaWiki存储有关actor的信息的地方,从T167246中的revision,archive,image,oldimage,filearchive,recentchanges,logging 表中分解出来。
参考与:https://www.mediawiki.org/wiki/Manual:Actor_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | actor_id | bigint(20) unsigned | √ | 主键,用于唯一标识actor。 |
2 | actor_user | int(10) unsigned | 执行操作的用户的user.user_id的键,或注销(IP)编辑和某些批量导入的NULL。 | |
3 | actor_name | varbinary(255) | √ | 用户名的文本或actor的IP地址。 |
4 | 索引 | 主键:actor_id |
该表是MediaWiki在已删除页面上存储信息的位置。 MediaWiki管理员可以使用Special:Undelete特殊页面恢复或取消删除页面。从MediaWiki 1.5开始,页面内容保留在text表中;删除时间记录在logging表中。
删除页面时,其所有旧版本都会从revision表移动到archive表。然后还原页面时,将从archive表中删除其修订,并在修revision中重新创建。
归档表与布局中的旧表和修订表大致相关;因为Gerrit更改了51675,所以它有一个主键:ar_id。
在MediaWiki 1.5之前,text表中的内容已移至此处,因此各个修订版具有非空的ar_text内容。该文本可能已被压缩,在这些情况下,它在修订版的ar_flags字段上标记为gzip。目前还没有关于何时发生删除的记录,使得难以将多个删除周期分开或将旧删除与最近未长时间编辑的页面的删除区分开。 (将此数据存储在log_search或logging.log_params中的建议被拒绝。)
参考与:https://www.mediawiki.org/wiki/Manual:Archive_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ar_id | int(10) unsigned | √ | 主键 |
2 | ar_namespace | int(11) | √ | 基本页面信息:包含已删除修订的名称空间。 它们包含page_namespace中的值。 |
3 | ar_title | varbinary(255) | √ | 基本页面信息:包含已删除页面的页面标题,与page_title相同。 |
4 | ar_comment_id | bigint(20) unsigned | √ | 这是comment表中comment_id的外键。 |
5 | ar_user | int(10) unsigned | √ | 基本修订信息:包含删除修订的用户的用户ID; 它与user_id和rev_user相同。 对于匿名编辑,初始化脚本和某些批量导入,此字段的值为0。 (在1.31中弃用)在执行actor迁移时,根据配置设置$ wgActorTableSchemaMigrationStage,此字段可能为空,执行编辑的actor可以存储在ar_actor字段中。 |
6 | ar_user_text | varbinary(255) | √ | 基本修订信息:此字段包含编辑者用户名的文本,如果删除的修订由未注册用户完成,则包含编辑器的IP地址。 与rev_user_text相似。 (在1.31中弃用)在执行actor迁移时,根据配置设置$ wgActorTableSchemaMigrationStage,此字段可能为空,执行编辑的actor可以存储在ar_actor字段中。 |
7 | ar_actor | bigint(20) unsigned | √ | |
8 | ar_timestamp | binary(14) | √ | 该字段包含最初保存修订的时间。 它相当于rev_timestamp。 |
9 | ar_minor_edit | tinyint(4) | √ | 基本修订信息:记录用户是否将已删除的修订标记为次要编辑。 如果此字段的值为1,则编辑标记为“次要”; 否则是0。 这相当于rev_minor_edit。 |
10 | ar_rev_id | int(10) unsigned | √ | 删除修订后,其唯一的rev_id将存储在此处,以便在取消删除后保留。 这对于在意外删除周期或历史合并之类的混乱操作之后保留永久链接到给定的修订是必要的。 1.4中的旧条目在此处为NULL,并且将在取消删除时为这些修订创建新的rev_id。 |
11 | ar_text_id | int(10) unsigned | √ | 对于在MediaWiki 1.5及更高版本中删除的修订版,这是文本表中old_id的关键字; 也就是说,它是存储后端中存储文本的关键。 为了避免破坏块压缩方案并以其他方式更改存储更改,实际文本不会从文本表中删除; 相反,仅通过删除页面和修订条目来隐藏文本。 可与rev_text_id相媲美。 在MediaWiki 1.2-1.4下删除的旧条目在此字段中将具有NULL值,并且它们的ar_text和ar_flags字段将用于在取消删除时创建新文本行。 |
12 | ar_deleted | tinyint(3) unsigned | √ | 该字段保留用于RevDelete / Suppression(Oversight)系统。 相当于rev_deleted。 |
13 | ar_len | int(10) unsigned | 此字段包含已删除修订的长度(以字节为单位)。 类似于rev_len。 | |
14 | ar_page_id | int(10) unsigned | 参考page_id。 用于系统管理员修复在归档中合并在一起的大页面,或者用于在可能的情况下以其原始ID号干净地恢复页面。 可与rev_page相媲美。 对于在1.11之前删除的页面,将为NULL。 | |
15 | ar_parent_id | int(10) unsigned | 页面上一个修订版的修订版ID。 从rev_parent_id填充。 对于在1.13之前删除的修订,将为null。 可以通过该字段的值为0来识别对新创建的文章的第一次编辑(以及因此创建文章)。 | |
16 | ar_sha1 | varbinary(32) | √ | base-36中的SHA-1文本内容哈希。 填充自rev_sha1。 |
17 | ar_content_model | varbinary(32) | 归档修订的内容格式,默认为NULL,仅在与页面默认值不同时才存储。 | |
18 | ar_content_format | varbinary(64) | 归档修订的内容模型,默认情况下为NULL,仅在与页面默认值不同时才存储,由ContentHandler :: getDefaultModelFor($ title)确定。 |
用户表是MediaWiki存储有关用户的信息的位置。 如果使用Postgres,则此表名为mwuser。
参考与 : https://www.mediawiki.org/wiki/Manual:User_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | user_id | int(10) unsigned | √ | user_id是主键,用于唯一标识用户 |
2 | user_name | varbinary(255) | √ | user_name:用户名必须是唯一的,并且不得采用IP地址的形式。 不应该允许斜线或案例冲突。允许使用空格,并将下划线转换为空格(与页面名称相反)。 |
3 | user_real_name | varbinary(255) | √ | user_real_name存储用户在“首选项”部分中提供的用户真实姓名(可选)。 |
4 | user_password | tinyblob | √ | user_password是三种格式之一,具体取决于$ wgPasswordSalt和$ wgPasswordDefault的设置: 密码格式详情请参见: https://www.mediawiki.org/wiki/Manual:User_table |
5 | user_newpassword | tinyblob | √ | 为mail-a-new-password功能生成user_newpassword。 |
6 | user_newpass_time | binary(14) | 设置新密码时,user_newpass_time设置为当前时间戳(wfTimestampNow())。 与其他时间戳一样,它采用MediaWiki的时间戳格式(yyyymmddhhmmss,例如20130824025644)。 | |
7 | user_email | tinyblob | √ | 电子邮件应受限制,而不是公共信息。 与密码相同。 请注意,此字段不可为空,因此从未提供过电子邮件地址的用户具有空字符串集。 |
8 | user_touched | binary(14) | √ | user_touched用户上次在站点上进行更改的时间,包括登录,页面更改(任何命名空间),监视列表和首选项更改。 当用户留下谈话消息时,user_touched时间重置。 |
9 | user_token | binary(32) | √ | user_token是伪随机生成的值。 当用户检查“记住我在此浏览器上的登录”时,该值存储在持久浏览器cookie $ {wgCookiePrefix}令牌中,该用户在对欺骗进行攻击时对用户进行身份验证。 |
10 | user_email_authenticated | binary(14) | user_email_authenticated是用户电子邮件通过身份验证的时间戳。 默认为NULL。 | |
11 | user_email_token | binary(32) | user_email_token是用于确认电子邮件地址的令牌。 | |
12 | user_email_token_expires | binary(14) | user_email_token_expires是电子邮件令牌的到期时间戳。 | |
13 | user_registration | binary(14) | user_registration是用户注册时的时间戳。 对于旧用户,此字段的值可能为NULL。 fixUserRegistration.php脚本可用于反向填充此字段。 | |
14 | user_editcount | int(11) | user_editcount是用户执行的粗略编辑和类似编辑的操作。 以下操作计为编辑: 创建或修改MediaWiki页面,即使稍后删除了修订版或页面(即进行非空编辑) 在结构化讨论(前“流程”)板上创建或修改帖子 将页面移动到新标题(从版本1.30开始) 此字段不是COUNT(*)FROM版本WHERE rev_user = user_id的准确副本。 但是,如果更新脚本一直运行并且它是软件可用的唯一编辑计数数据,那么它应该大致准确,因此它仍然用于严重的目的,例如决定帐户是否已被自动提升。 许多事情可能导致此值不正确。 例如,它可能已过期,或者对于旧帐户,如果尚未运行更新脚本(initEditCount.php),则为NULL。 此外,一些删除可能不会一致地影响它。 |
|
15 | user_password_expires | varbinary(14) | 用户密码过期的日期; null表示没有过期日期。 也可以通过调用User-> expirePassword()手动设置。 | |
16 | 索引 | 主键 : user_id |
存储机器人密码
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | bp_user | int(10) unsigned | √ | 用户的中心ID。 在默认安装中,这是user.user_id的外键。 |
2 | bp_app_id | varbinary(32) | √ | 应用程序ID,用于区分使用同一帐户的多个应用程序; 使用bot登录的应用程序需要将 @ 作为用户名传递。 |
3 | bp_password | tinyblob | √ | 密码哈希(就像user.user_password)。 |
4 | bp_token | binary(32) | √ | 用于记住/使会话无效的令牌(就像user.user_token)。 |
5 | bp_restrictions | blob | √ | MWRestrictions的JSON blob。 |
6 | bp_grants | blob | √ | 使用此bot密码进行身份验证时允许的帐户授予。 |
7 |
注释表存储编辑,块和其他动作,这些动作通常具有描述动作的文本注释。 它们存储在单独的表中,以减少主表的大小,并允许重复数据删除。
当前,重复数据删除是最大的努力,以避免锁定严格重复数据删除所需的插入。 可能有多行具有相同的comment_text和comment_data。
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | comment_id | bigint(20) unsigned | √ | 标识每个评论的唯一ID。 |
2 | comment_hash | int(11) | √ | 用于重复数据删除的comment_text和comment_data的哈希值。 |
3 | comment_text | blob | √ | 总结更改的文字评论,例如 编辑者的编辑摘要。 该文本显示在历史记录和贡献中。 它还用于最近的更改,相关的更改,监视列表,并且在创建页面的情况下,还用于新页面的列表。 它由Linker :: formatComment()在经过清理的Wiki标记子集中呈现。 大小限制是在应用程序级别上强制执行的,应注意适当裁剪UTF-8字符串。 |
4 | comment_data | blob | JSON数据,用于本地化自动生成的注释。 它保存旨在用于提供自动生成的注释的本地化版本的结构化数据。 如果不为空,则comment_text应该是使用Wiki的内容语言本地化的生成注释。 | |
5 | 索引 | 主键:comment_id 索引:comment_hash |
change_tag表跟踪修订,日志和最近更改的标签。 另请参见tag_summary和valid_tag表。
参考与:https://www.mediawiki.org/wiki/Manual:Change_tag_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ct_id | int(10) unsigned | 主键 | |
2 | ct_rc_id | int(11) | change表的rc_id | |
3 | ct_log_id | int(10) unsigned | change表的log_id | |
4 | ct_rev_id | int(10) unsigned | change的rev_id请注意,这不是唯一的:对于应用于更改的每个标记,都会添加一个不同的行。 | |
5 | ct_tag | varbinary(255) | 对应于应用于更改的一个标签的字符串。 | |
6 | ct_tag_id | blob | change_tag_def表(change_tag_def.ctd_id)的主键的外键。 | |
7 | ct_params | int(10) unsigned | 标签的参数。 | |
8 | 索引 |
change_tag_def表是定义ID标记名称的表。 它还存储命中计数,以避免对change_tag进行昂贵的查询。
参考与 : https://www.mediawiki.org/wiki/Manual:Change_tag_def_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ctd_id | int(10) unsigned | 标签的数字ID | |
2 | ctd_name | varbinary(255) | 标签的符号名称(以前会放在change_tag.ct_tag中) | |
3 | ctd_user_defined | tinyint(1) | 此标签是否由特权用户使用Special:Tags手动定义 | |
4 | ctd_count | bigint(20) unsigned | 使用此标签的次数 | |
5 | 索引 |
content表代表内容对象。 它的主要目的是提供必要的元数据,以加载和解释序列化数据Blob以创建内容对象。
参考与:https://www.mediawiki.org/wiki/Manual:Content_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | content_id | bigint(20) unsigned | √ | 内容对象的ID |
2 | content_size | int(10) unsigned | √ | 内容对象的标称大小(不一定是序列化的Blob) |
3 | content_sha1 | varbinary(32) | √ | 内容对象的标称哈希(不一定是序列化的Blob) |
4 | content_model | smallint(5) unsigned | √ | 对content_models.model_id的引用。 请注意,未指定序列化格式; 除非自动检测,否则应假定为模型的默认格式。 |
5 | content_address | varbinary(255) | √ | 内容Blob的类似URL的地址。 当前结构为:tt:,其中是引用text.old_id列的数字。 |
6 | 索引 | 主键:content_id |
content_models表是内容模型名称的规范化表。
参考与 : https://www.mediawiki.org/wiki/Manual:Change_tag_def_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | model_id | smallint(6) | √ | 主键 |
2 | model_name | varbinary(64) | √ | |
3 | 索引 |
externallinks表是MediaWiki存储和跟踪外部链接的地方。
参考与 : https://www.mediawiki.org/wiki/Manual:Content_models_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | el_id | int(10) unsigned | √ | 主键。 目前不用于任何东西,但是将有助于在线模式更改。 |
2 | el_from | int(10) unsigned | √ | 引荐Wiki页面的page_id |
3 | el_to | blob | √ | 实际的URL本身。 它被传递到浏览器。 |
4 | el_index | blob | √ | 这是与el_to搜索优化的URL相同的URL:剥离了用户名和密码信息,并且反转了其他组件以加快搜索速度,因此http:// user:[email protected]/page.html变为http:/ /com.example.sub./page.html,它允许搜索“显示指向* .example.com的所有链接”形式。 |
5 | el_index_60 | varbinary(60) | √ | el_index会被截断为60个字节,以允许部分索引不支持的可排序查询。 |
6 | 索引 | el_id |
图像表描述图像和其他上传的文件。 但是,图像描述页面的存储方式与其他页面相同。 另请参阅:图像管理。 该表中的许多字段类似于oldimage表中的那些字段。 其中一些信息是根据MediaWiki docs /目录中的schema.doc改编的。
实际图像的路径未存储在此表中
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | img_name | varbinary(255) | √ | 使用下划线的文件名。 |
2 | img_size | int(10) unsigned | √ | 文件大小(以字节为单位)。 |
3 | img_width | int(11) | √ | 图像宽度(以像素为单位)。 |
4 | img_height | int(11) | √ | 图像高度(以像素为单位)。 |
5 | img_metadata | mediumblob | √ | 文件属性的序列化PHP数组。 如果提取器失败,则为0。 |
6 | img_bits | int(11) | √ | 基于GIF / PNG调色板的图像的位深度(最多8位)。 非调色板图像(JPEG / PNG / TIFF / SVG)为0、8或16。所有其他文件默认为0。 |
7 | img_media_type | enum(‘UNKNOWN’,‘BITMAP’,‘DRAWING’,‘AUDIO’,‘VIDEO’,‘MULTIMEDIA’,‘OFFICE’,‘TEXT’,‘EXECUTABLE’,‘ARCHIVE’,‘3D’) | √ | 可能的是:UNKNOWN, BITMAP, DRAWING, AUDIO, VIDEO, MULTIMEDIA, OFFICE, TEXT, EXECUTABLE, ARCHIVE, 3D |
8 | img_major_mime | enum(‘unknown’,‘application’,‘audio’,‘image’,‘text’,‘video’,‘message’,‘model’,‘multipart’,‘chemical’) | √ | 可能是: unknown, application, audio, chemical, image, message, model, multipart, text, video |
9 | img_minor_mime | varbinary(100) | √ | 例如. jpeg, gif, png, svg+xml, tiff, ogg, pdf vnd.djvu, webm, wav, mpeg, x-flac, midi, x-xcf, sla, webp, etc. |
10 | img_description_id | bigint(20) unsigned | √ | 这是comment表中comment_id的外键。 |
11 | img_user | int(10) unsigned | √ | 上传文件的用户的用户ID。 (在1.31中已弃用)在完成actor迁移时,并且根据配置设置$ wgActorTableSchemaMigrationStage,此字段可能为空,而执行编辑的actor可以存储在img_actor字段中。 |
12 | img_user_text | varbinary(255) | √ | 上传文件的用户的用户名。 (在1.31中已弃用)在完成actor迁移时,并且根据配置设置$ wgActorTableSchemaMigrationStage,此字段可能为空,而执行编辑的actor可以存储在img_actor字段中。 |
13 | img_actor | bigint(20) unsigned | √ | actor表中actor_id的外键。 |
14 | img_timestamp | varbinary(14) | √ | 上传时间的时间戳记。 时间戳不一定与logging.log_timestamp相同。 |
15 | img_sha1 | varbinary(32) | √ | 文件内容的SHA-1哈希(以base 36格式)。 include / GlobalFunctions.php的wfBaseConvert用于将基数从16(十六进制)转换为基数36,然后将结果填充为31个字符。 |
17 | 索引 | 主键:img_name |
imagelinks表存储文件的包含。 从输出函数中的链接缓存到“这里的链接”页面,这对各种功能都有好处。 请注意,某些图像可能位于外部文件存储库中。
参考与:https://www.mediawiki.org/wiki/Manual:Imagelinks_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | il_from | int(10) unsigned | √ | 链接所在页面的page_id。 |
2 | il_from_namespace | int(11) | √ | 包含链接的页面的page_namespace。 |
3 | il_to | varbinary(255) | √ | 所链接文件的标题。 |
4 | 索引 | 主键:il_from |
interwiki表存储了维基百科前缀及其目标。 请参阅默认的维基百科前缀。 Wiki间链接本身存储在iwlinks表中。 可以使用Interwiki类访问此数据。
参考与:https://www.mediawiki.org/wiki/Manual:Interwiki_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | iw_prefix | varbinary(32) | √ | 维基链接的前缀; 这与编辑时使用名称空间的方式相同。 |
2 | iw_url | blob | √ | 链接的目标; 页面名称将替换为$ 1。 |
3 | iw_api | blob | √ | 文件api.php的URL。 当通过siprop = interwikimap请求一个维基百科地图时,除ApiQuerySiteinfo :: appendInterwikiMap()外,不使用此属性。 |
4 | iw_wikiid | varbinary(64) | √ | 数据库的名称(用于使用wfGetLB(‘wikiid’)建立的连接) |
5 | iw_local | tinyint(1) | √ | 通知MediaWiki如何处理来自外部来源的维基链接。 如果iw_local为1,则将这些链接视为从本地Wiki内部生成。 例如,en.wikipedia.org项目上的interwiki链接fr:设置了iw_local = 1。 因此,指向https://en.wikipedia.org/wiki/fr:Accueil的链接可以将您优雅地重定向到法语首页(Accueil)。 但是,en.wikipedia.org上的WorldCat ISSN目录标记为0; https://en.wikipedia.org/wiki/issn:1021-9749的链接不起作用,即使[[issn:1021-9749]]在本地Wikipedia页面上也可以使用。 请参阅m:Help:Interwiki链接#非本地Interwiki。 |
6 | iw_trans | tinyint(1) | √ | 这用于允许从另一个MediaWiki安装中包含模板(或其他页面)。 $ wgEnableScaryTransclusion和iw_trans都需要打开。 |
7 | 索引 | 主键:iw_prefix |
iwlinks表存储了interwiki链接及其目标。 不要与Langlinks表混淆。
参考与:https://www.mediawiki.org/wiki/Manual:Iwlinks_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | iwl_from | int(10) unsigned | √ | page页的page_id(即链接显示在的本地页)。 |
2 | iwl_prefix | varbinary(20) | √ | 目标的维基百科前缀代码。 与编辑时使用名称空间的方式相同。 |
3 | iwl_title | varbinary(255) | √ | 目标页面的标题,包括名称空间(FULLPAGENAMEE样式)。 空格会转换为下划线,但是首字母不会自动大写。 因此,例如,到w:foo bar的interwiki链接的iwl_title为“ foo_bar”。 |
4 | 索引 | 主键:iwl_from iwl_prefix iwl_title |
ipblocks表存储IP地址和被禁止编辑的用户的详细信息。 名称“ ipblocks”是旧名称,因为现在用户帐户块也存储在该表中。
参考与:https://www.mediawiki.org/wiki/Manual:Ipblocks_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ipb_id | int(11) | √ | 主键,为保护隐私而引入。 |
2 | ipb_address | tinyblob | √ | 点分四进制形式或用户名的IP地址被阻止。 |
3 | ipb_user | int(10) unsigned | √ | 阻止的用户ID或IP阻止的0。 |
4 | ipb_by | int(10) unsigned | √ | 进行阻止的管理员的用户ID。 |
5 | ipb_by_text | varbinary(255) | √ | 进行屏蔽的管理员的文本用户名。 (在1.31中弃用); 不推荐使用ipb_by_actor。 |
6 | ipb_by_actor | bigint(20) unsigned | √ | 这是actor表中actor_id的外键。 |
7 | ipb_reason_id | bigint(20) unsigned | √ | 这是comment表中comment_id的外键。 |
8 | ipb_timestamp | binary(14) | √ | 以标准YMDHMS格式创建(或刷新)日期。 |
9 | ipb_auto | tinyint(1) | √ | 表示该IP地址已被阻止,因为被阻止的用户通过该IP地址访问了该页面。 如果为1,则ipb_address将被隐藏。 |
10 | ipb_anon_only | tinyint(1) | √ | 如果设置为1,则该阻止仅适用于注销的用户。 |
11 | ipb_create_account | tinyint(1) | √ | 防止创建与IP地址匹配的帐户。 |
12 | ipb_enable_autoblock | tinyint(1) | √ | 在块上启用自动阻止。 |
13 | ipb_expiry | varbinary(14) | √ | 管理员在阻止时设置的到期时间。 标准时间戳或字符串“ infinity”。 |
14 | ipb_range_start | tinyblob | √ | IP范围块中的第一个IP。 |
15 | ipb_range_end | tinyblob | √ | IP范围块中的最后一个IP。 |
16 | ipb_deleted | int(11) | √ | 允许标记该条目,将其对用户和sysops隐藏。 |
17 | ipb_block_email | tinyint(1) | √ | 禁止用户访问Special:Emailuser。 |
18 | ipb_allow_usertalk | tinyint(1) | √ | 指示是否阻止了被阻止的用户编辑其对话页面。 值1表示允许用户编辑其用户对话页面。 |
19 | ipb_parent_block_id | tinyint(1) | 导致该块存在的块的ID。 自动块将其设置为原始块,因此要删除的原始块也将删除自动块。 | |
20 | ipb_sitewide | tinyint(1) | √ | 指示该块是站点范围内的还是部分站点。 值为0表示该块是部分块。 部分阻止可以阻止用户访问特定的页面,名称空间或操作。 如果部分块阻止用户访问任何页面或名称空间,则这些内容将存储在ipblocks_restrictions表中。 |
21 | 索引 | 主键:ipb_id |
ipblocks_restrictions表存储与块相关的限制。
参考与:https://www.mediawiki.org/wiki/Manual:Ipblocks_restrictions_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ir_ipb_id | int(11) | √ | 此限制所涉及的块的ipb_id。 |
2 | ir_type | tinyint(1) | √ | 块的类型。 1 = page 2 = namespace |
3 | ir_value | int(11) | √ | 块限制的值。 对于页面,这是命名空间的page_id,这是在config中找到的命名空间ID。 |
4 | 索引 | 主键:ir_ipb_id ir_type ir_value |
每次保存注销用户的编辑时,都会在ip_changes表中创建一行。 这会将IP存储为十六进制表示,以便我们可以更轻松地找到IP范围内的编辑内容。 该表是在Gerrit更改370946中引入的。
参考与:https://www.mediawiki.org/wiki/Manual:Ip_changes_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ipc_rev_id | int(10) unsigned | √ | 修订表的外键,也用作唯一的主键。 |
2 | ipc_rev_timestamp | binary(14) | √ | 修订的时间戳。 |
3 | ipc_hex | varbinary(35) | √ | IP地址的十六进制表示形式,由IP :: toHex()返回。 对于IPv4,它将类似于:ABCD1234 对于IPv6:v6-ABCD1234000000000000000000000000 然后使用BETWEEN识别给定范围内的修订。 |
4 | 索引 | 主键:ipc_rev_id |
category 表跟踪所有现有类别。 某物是一个类别,如果它在类别链接中某处有一个条目,或者它曾经做过(任务T28411)。类别可能没有对应的页面,因此需要分别进行跟踪。 cat_pages,cat_subcats和cat_files签名使下溢更加明显。
页面和子类别存储在categorylinks表中。有关隐藏哪些类别的信息存储在page_props表中。数字字段经过签名以使下溢更加明显。 为了使排序更好,我们使第一个数字包括第二个数字:为显示而减法很容易,为排序而加法则不容易。
如果此表中的信息不正确,请运行维护脚本populateCategory.php和/或cleanupEmptyCategories.php,如果需要,请使用–force选项。
参考与:https://www.mediawiki.org/wiki/Manual:Category_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | cat_id | int(10) unsigned | √ | 主键 |
2 | cat_title | varbinary(255) | √ | 类别的名称,格式与page.page_title(带下划线)相同。 根据定义,如果存在与该类别对应的类别页面,则该页面具有此名称(在“类别”名称空间中)。 |
3 | cat_pages | int(11) | √ | 类别中的页数。 该数量包括子类别的数量和文件的数量。 |
4 | cat_subcats | int(11) | √ | 类别中子类别的数量。 |
5 | cat_files | int(11) | √ | 类别中的文件数(即图片:名称空间成员)。 |
6 | 索引 | 主键:cat_id |
categorylinks表存储与[[Category:Title]]或[[Category:Title | sortkey]]形式的链接相对应的条目,将其放置在页面上的任何位置时,会将页面放入名为“标题”的类别中(与之相关的页面 可能存在或可能不存在)。 以冒号开头的链接,例如[[:Category:Title]],不会存储在categorylinks表中,而是作为普通的内部链接进行处理(在这种情况下,指向页面Category:Title)。 类别页面的可编辑部分与其他页面一样存储。
有四个索引可帮助提高性能:
cl_from和cl_to的串联(用于编辑文章时)
cl_to,cl_type,cl_sortkey和cl_from的串联(用于按顺序显示文章)
cl_to和cl_timestamp的串联
cl_collation
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | cl_from | int(10) unsigned | √ | 存储放置链接的文章的page.page_id。 |
2 | cl_to | varbinary(255) | √ | 存储所需类别的名称(不包括名称空间前缀)。 下划线(_)替换空格 |
3 | cl_sortkey | varbinary(230) | √ | 存储标题,页面应按该标题在类别列表中排序。 这是二进制的排序键,取决于$ wgCategoryCollation,人类可能会或可能不会理解(但在作为字节字符串进行比较时应以正确的顺序排序) |
4 | cl_sortkey_prefix | varbinary(255) | √ | 在表中存储该链接的最后更新时间。 |
5 | cl_timestamp | timestamp | √ | 如果页面使用默认排序键(即未指定排序键),则为空字符串。 否则,它是cl_sortkey的人类可读版本。 主要是为了使cl_sortkey在某些情况下可以轻松更新而无需重新分析整个页面。 |
6 | cl_collation | varbinary(32) | √ | 正在使用什么排序规则。 用于排序规则更改时,updateCollation.php脚本知道哪些行需要在db中修复。 |
7 | cl_type | enum(‘page’,‘subcat’,‘file’) | √ | 这是什么类型的页面(文件,子目录(子类别)或页面(普通页面))。 用于有效地分类页面上不同部分的页面。 |
8 | 索引 | 主键:cl_from、cl_to |
filearchive表存储有关已删除的所有介质的信息,类似于归档表的已删除文本修订版的工作。 这些文件位于已删除文件的存储区中。 在本地存储中,最有可能是图像文件夹/已删除/。 这是使图像无法删除的表格。 在MediaWiki 1.11之前,默认情况下禁用此功能,并且必须将Manual:$ wgSaveDeletedFiles设置为true才能启用它。 从版本1.11开始,此行为由$ wgFileStore控制,默认情况下,已删除的文件存储在$ wgUploadDirectory / deleted中。
参考与 :https://www.mediawiki.org/wiki/Manual:Filearchive_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | fa_id | int(11) | √ | 唯一id |
2 | fa_name | varbinary(255) | √ | 原始基本文件名; image.img_name,page.page_title等的键 |
3 | fa_archive_name | varbinary(255) | 归档文件的文件名(如果是旧版本),带有前置时间戳。 例如。20090311210905!Constant_and_setup.png | |
4 | fa_storage_group | varbinary(16) | 文件数据存储在哪个存储仓(目录树或对象存储)中。对于已删除的文件,应“删除”; 尚未使用任何其他垃圾箱。 | |
5 | fa_storage_key | varbinary(64) | 文件内容的SHA-1加上扩展名,用作存储密钥。 例如。8f8a562add37052a1848ff7771a2c515db94baa9.jpg | |
6 | fa_deleted_user | int(11) | 删除文件的用户 | |
7 | fa_deleted_timestamp | binary(14) | 删除时间(如果已删除此文件) | |
8 | fa_deleted_reason_id | bigint(20) unsigned | √ | 这是comment表中comment_id的外键。 |
9 | fa_size | int(10) unsigned | 文件大小(以字节为单位)。 img_size重复。 | |
10 | fa_width | int(11) | 图像宽度(以像素为单位)。 img_width重复。 | |
11 | fa_media_type | enum(‘UNKNOWN’, ‘BITMAP’, ‘DRAWING’, ‘AUDIO’, ‘VIDEO’, ‘MULTIMEDIA’, ‘OFFICE’, ‘TEXT’, ‘EXECUTABLE’, ‘ARCHIVE’, ‘3D’) | 可能是:UNKNOWN, BITMAP, DRAWING, AUDIO, VIDEO, MULTIMEDIA, OFFICE, TEXT, EXECUTABLE, ARCHIVE | |
12 | fa_metadata | mediumblob | 文件属性的序列化PHP数组。 img_metadata重复 | |
13 | fa_bits | int(11) | 基于GIF / PNG调色板的图像的位深度(最多16位)。 非调色板图像(JPEG / PNG / TIFF / SVG)为0或8。所有其他文件默认为0。img_bits重复。 | |
14 | fa_height | int(11) | 图像高度,以像素为单位。 img_height重复。 | |
15 | fa_major_mime | enum(‘unknown’, ‘application’, ‘audio’, ‘image’, ‘text’, ‘video’, ‘message’, ‘model’, ‘multipart’, ‘chemical’) | 可能是unknown, application, audio, chemical, image, message, model, multipart, text, video img_major_mime的副本。 |
|
16 | fa_minor_mime | varbinary(100) | 例如。 jpeg,gif,png等 img_minor_mime的副本。 |
|
17 | fa_description_id | bigint(20) unsigned | √ | 这是注释表中comment_id的外键。 |
18 | fa_user | int(10) unsigned | 上传文件的用户的用户ID >。 img_user重复。 | |
19 | fa_user_text | varbinary(255) | 上传文件的用户的用户名。 img_user_text的副本。 (在1.31中弃用); 不推荐使用fa_actor。 |
|
20 | fa_actor | bigint(20) unsigned | √ | 这是actor表中actor_id的外键。 |
21 | fa_timestamp | binary(14) | 上传时间的时间戳记。 img_timestamp的副本。 | |
22 | fa_deleted | tinyint(3) unsigned | √ | 删除的修订的可见性,位域。 |
23 | fa_sha1 | varbinary(32) | √ | sha1文件内容的哈希值,以36为底进行编码 |
24 | 索引 | 主键:fa_id |
作业表中包含待处理作业的列表。 仅在$ wgJobTypeConf使用JobQueueDB类时使用。
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | job_id | int(10) unsigned | √ | 主键 |
2 | job_cmd | varbinary(60) | √ | 命令名称,限制为60个字符,以防止密钥长度溢出。 命令名称与$ wgJobClasses中的键相对应。 |
3 | job_namespace | int(11) | √ | 要使用的命名空间。 如果命令未对标题进行操作,则应为0。 与job_title结合使用。 |
4 | job_title | varbinary(255) | √ | 要采取行动的标题。 如果命令未对标题进行操作,则应为空。 与job_namespace结合使用。 |
5 | job_timestamp | varbinary(14) | 插入作业的时间戳。 在添加时间戳之前添加的作业为NULL。 | |
6 | job_params | mediumblob | √ | 命令的任何其他参数。 存储为PHP序列化数组,如果没有参数,则存储为空字符串。 |
7 | job_random | int(10) unsigned | √ | 用于并发作业获取的随机,非唯一数字。 |
8 | job_attempts | int(10) unsigned | √ | 该作业被锁定的次数。 |
9 | job_token | varbinary(32) | √ | 通过进程UUID在行上传递进程锁的字段。 解锁的作业将此字段设置为空字符串。 |
10 | job_token_timestamp | varbinary(14) | 作业被锁定的时间戳记。 解锁作业的该字段为空。 | |
11 | job_sha1 | varbinary(32) | √ | 与检测重复相关的作业参数的基础36 SHA1。 |
12 | 索引 | 主键:job_id |
l10n_cache表。 它的内容可以删除,也可以从备份中排除,因为它将在需要时重新生成。 LocalisationCache.php的LCStore_DB类的公共函数get()通过lc_lang和lc_key查找lc_value。
参考与:https://www.mediawiki.org/wiki/Manual:L10n_cache_table、
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | lc_lang | varbinary(32) | √ | 语言代码。 |
2 | lc_key | varbinary(255) | √ | 缓存键。 |
3 | lc_value | mediumblob | √ | 值,存储为序列化字符串。 |
4 | 索引 | 主键:lc_lang lc_key |
langlinks表跟踪语言间链接。
该表用于显示页面,是快速找到导航和工具箱链接下方通常出现在左页边的链接的方法。如果没有此表,MediaWiki将不得不解析每个页面显示的Wikitext。该表在页面(ll_from)和目标语言(ll_lang)上都有主键,因此每种页面只能为每种语言存储一个链接。
该表有三列:ll_from(整数),ll_lang(20个字符),ll_title(255个字符)。如果Wiki页面“瑞典”包含中间语言链接[[fr:Suède]],则ll_from将指示链接来自的瑞典页面,ll_lang将为“ fr”,而ll_title将为“Suède”。在2009年2月,对于瑞典语Wikipedia,该表具有320万行,其中145,000(4.5%)具有ll_lang“ fr”。
作为拥有此表的副作用,您可以:
找出最受欢迎的目标语言:select count(*), ll_lang from langlinks group by 2 order by 1 desc limit 20;
找出哪些页面具有最多的中间语言链接: select count(*), ll_from from langlinks group by 2 order by 1 desc limit 20;
(但随后您需要将ll_from转换为有用的页面名称。)
从Wikidata开始,该表不再准确跟踪Wikipedia和其他Wikimedia Wiki中的实际语言间链接!
语言间链接通常被称为维基间链接。 例如,中介语言链接由所谓的“ interwiki机器人”更新。 尽管此表可以包含数百万行,但interwiki表通常只有几百行。
ll_title是单个varchar字符串,将在目标语言Wiki的URL中使用。 仅此表不足以确定该链接是否唯一,因为它可能导致重定向或名称空间别名。 例如,即使名称空间的拼写不同,中间语言链接[[fr:Catégorie:Suède]]和[[fr:Category:Suède]]都是同义词。
参考与:https://www.mediawiki.org/wiki/Manual:Langlinks_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ll_from | int(10) unsigned | √ | 推荐页面的page_id。 |
2 | ll_lang | varbinary(20) | √ | 目标的语言代码,符合ISO 639-1标准。 |
3 | ll_title | varbinary(255) | √ | 目标的标题,包括名称空间(FULLPAGENAMEE样式)。 |
4 | 索引 | 主键:ll_from ll_lang |
MediaWiki中的每个日志操作都记录在日志记录表中。 用户可以在Special:Log上看到这些编辑,除了一些受限制的日志(例如Special:Log / suppress)。
该表的内容就是您在Special:Log页面上看到的内容。 例如:
2008年6月25日14:18 Jacksprat(Talk | contribs |街区)上传了“ Image:Climb.jpg”(为climbing页面添加了此图像)
参考与:https://www.mediawiki.org/wiki/Manual:Logging_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | log_id | int(10) unsigned | √ | 表的主键。 rc_logid是链接到此列的外键。 |
2 | log_type | varbinary(32) | √ | 日志操作的类型,或“日志类型”。 您可以在Special:Log上按此类型的某些值进行过滤。 与rc_log_type相当。 |
3 | log_action | varbinary(32) | √ | 动作已执行。 对于给定的类型,可能有多种动作:例如,类型为delete的条目可能具有动作delete或restore,等等。与rc_log_action相当。 |
4 | log_timestamp | binary(14) | √ | 执行操作的时间,采用MediaWiki在数据库中各处使用的时间戳格式:yyyymmddhhmmss(例如,“ 14:18,2008年6月25日”)。 与rc_timestamp和rev_timestamp相当。 如果日志事件是文件上传,则此字段不必与LocalFile :: recordUpload2()生成的image.img_timestamp相同。 |
5 | log_user | int(10) unsigned | √ | 执行操作的用户的ID。 这是对用户表的引用(示例中为“ Jacksprat”的用户ID)。 与rc_user和rev_user相当。 不推荐使用#log_actor。 |
6 | log_user_text | varbinary(255) | √ | 执行该操作的用户的用户名,主要用于匿名用户,可以由maintenance / populateLogUsertext.php填充。 与rc_user_text和rev_user_text相当。 不推荐使用#log_actor。 |
7 | log_actor | bigint(20) unsigned | √ | 这是actor表中actor_id的外键,与执行该操作的用户(注册或匿名)相对应。 |
8 | log_namespace | int(11) | √ | 受影响页面的名称空间。 与log_title一起,这是对页表的引用(示例中为“ Image:Climb.jpg”)。 与rc_namespace相当。 日志记录表可能包含log_namespace <0的行: 特殊:renameuser的log_type和log_action为“”或“ renameuser” 特殊:log_type为“ newusers”的用户登录和log_action例如 被“创造” |
9 | log_title | varbinary(255) | √ | 受影响页面的标题。 与log_namespace一起,这是对页表的引用。 与rc_title相当 标题也称为日志条目的“目标”。 对于用户阻止,这是被阻止用户的用户名。 |
10 | log_page | int(10) unsigned | 此日志操作所涉及的page_id。 与rc_cur_id和rev_page相当。 在页面移动的情况下,此设置为已移动页面的page_id(因为Gerrit更改157872)。 以前,它是重定向的page_id;如果页面是在未创建重定向的情况下移动的,则为0。 | |
11 | log_comment_id | bigint(20) unsigned | √ | 这是comment表中comment_id的外键。 |
12 | log_params | blob | √ | 附加参数,通常为空。镜像到rc_params中。 log_params通常是序列化的,但不总是序列化的;有时,由于历史原因,log_params的字段由换行符分隔。创建新日志类型的任何人都应该使用PHP序列化。 对于用户块,log_params包含块和其他数据的持续时间,以人类可读的形式显示,例如“ 2周nocreate,noautoblock,noemail”。对于页面移动,它包含页面被移动到的带前缀页面标题的序列化数组(即FULLPAGENAME格式)和noredir的布尔值。有关其他示例,请参见手册:日志参数。 |
13 | log_deleted | tinyint(3) unsigned | √ | 与RevisionDelete系统一起使用以删除日志条目。 该字段相当于rc_deleted和rev_deleted。 这是一个位字段。 将以下各项之和确定代表的含义: 1个动作已删除 2条评论已删除 4用户已删除 8如果删除的信息受到限制。 如果未设置此字段,则仅需要删除的历史权限,否则需要取消修订权限。 (在Wikimedia Wiki上,这对应于管理员是否可以查看条目,或者仅监督者可以查看)。 例如,如果该值为6(4 + 2),则该操作将是可见的,但除非您已删除历史记录权限,否则注释和用户将不会显示。 |
14 | 索引 | 主键:log_id |
log_search表(在r50567中添加)。 log_search和logging.log_params均可用于存储有关日志事件的数据。 被索引的log_search用于筛选实时查询。 例如,RevisionDelete使用它来将日志事件过滤到修订ID(不仅仅是页面)。 例如,如果修订48和49被日志事件29删除,则将在log_search中创建两行,两个字段的ls_field等于’rev_id’,第一字段的ls_value等于48,第二字段的49 ,并且两个字段的ls_log_id均等于29。 对于离线使用(例如缓慢的分析),log_params就足够了。
用于在log_search中存储数据的函数通常是ManualLogEntry :: setRelations()和LogPage :: addRelations()。
参考与:https://www.mediawiki.org/wiki/Manual:Log_search_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ls_field | varbinary(32) | √ | ID的类型(“ rev_id”,“ log_id”,“ ipb_id”,“ target_author_id”;根据tables.sql,“ rev timestamp”和“ username”。)可以添加其他类型。 |
2 | ls_value | varbinary(255) | √ | ID的值(例如,如果ls_field为’rev_id’,则ls_value将包含rev_id)。 |
3 | ls_log_id | int(10) unsigned | √ | log_id的键 |
4 | 索引 | 主键:ls_field、ls_value、ls_log_id |
module_deps表用于缓存外观/模块所依赖的本地文件,这些文件没有直接注册。
当前用于跟踪CSS依赖的图像和LESS文件。
参考与:https://www.mediawiki.org/wiki/Manual:Module_deps_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | md_module | varbinary(255) | √ | 模块名称 |
2 | md_skin | varbinary(32) | √ | 皮肤名称 |
3 | md_deps | mediumblob | √ | 具有文件依赖项的JSON Blob。 包含绝对文件路径,用于找到相应的文件。 当Wiki例如 移动到另一个文件夹或另一个服务器。 从MediaWiki 1.25(phabricator:T37472)开始,update.php现在删除module_deps表的内容,从而清除了缓存。 对于update.php中尚未具有此修复程序的MediaWiki版本,解决方法是手动删除module_deps表的内容。 |
4 | 索引 | 主键:md_module、md_skin |
如果不使用Memcached,则objectcache表将用于一些常规的缓存操作。 它的内容可以删除,也可以从备份中排除,因为它将在需要时重新生成。
参考与: https://www.mediawiki.org/wiki/Manual:Objectcache_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | keyname | varbinary(255) | √ | 缓存对象的唯一标识符。 例如<实例>:用户:ID:<用户ID> |
2 | value | mediumblob | 缓存的对象。 | |
3 | exptime | datetime | 缓存条目应过期的日期,因此应删除。 | |
4 | 索引 | 主键:keyname |
oldimage表包含有关文件的旧修订版的信息。 当有人将新版本的现有文件上传到Wiki时,它将被填充。 这些文件将移至文件夹/ image / archive。 但是,有关已删除图像的信息将不会存储在oldimage表中。 删除时,信息将移至文件归档。
参考与:https://www.mediawiki.org/wiki/Manual:Oldimage_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | oi_name | varbinary(255) | √ | 图像名称(文件和文章,似乎相同)。 与img_name相当。 |
2 | oi_archive_name | varbinary(255) | √ | 图像名称,以该图像的旧版本的时间戳记为前缀 |
3 | oi_size | int(10) unsigned | √ | 文件大小(以字节为单位)。 与img_size相当。 |
4 | oi_width | int(11) | √ | 图像宽度(以像素为单位)。 与img_width相当。 |
5 | oi_height | int(11) | √ | 图像高度,以像素为单位。 与img_height相当。 |
6 | oi_bits | int(11) | √ | 基于GIF / PNG调色板的图像的位深度(最多16位)。 非调色板图像(JPEG / PNG / TIFF / SVG)为0或8。所有其他文件默认为0。img_bits。 |
7 | oi_description_id | bigint(20) unsigned | √ | 这是注释表中comment_id的外键。 |
8 | oi_user | int(10) unsigned | √ | 上传文件的用户的用户ID。 与img_user相当。 (在1.31中已弃用)在完成actor迁移时,并且根据配置设置$ wgActorTableSchemaMigrationStage,此字段可能为空,而执行编辑的actor可以存储在oi_actor字段中。 |
9 | oi_user_text | varbinary(255) | √ | 原始上传者的名称。 类似于img_user_text。 (在1.31中已弃用)在完成actor迁移时,并且根据配置设置$ wgActorTableSchemaMigrationStage,此字段可能为空,而执行编辑的actor可以存储在oi_actor字段中。 |
10 | oi_actor | bigint(20) unsigned | √ | |
11 | oi_timestamp | binary(14) | √ | 原始文件上传的时间戳。 类似于img_timestamp。 |
12 | oi_metadata | mediumblob | √ | 文件属性的序列化PHP数组。 类似于img_metadata。 |
13 | oi_media_type | enum(‘UNKNOWN’,‘BITMAP’,‘DRAWING’,‘AUDIO’,‘VIDEO’, ‘MULTIMEDIA’,‘OFFICE’,‘TEXT’,‘EXECUTABLE’,‘ARCHIVE’,‘3D’) |
可能的是:UNKNOWN, BITMAP, DRAWING, AUDIO, VIDEO, MULTIMEDIA, OFFICE, TEXT, EXECUTABLE, ARCHIVE 与img_media_type相当。 |
|
14 | oi_major_mime | enum(‘unknown’,‘application’,‘audio’,‘image’,‘text’, ‘video’,‘message’,‘model’,‘multipart’,‘chemical’) |
√ | 可能是:unknown, application, audio, chemical, image, message, model, multipart, text, video 与img_major_mime相当。 |
15 | oi_minor_mime | varbinary(100) | √ | 例如。 jpeg,gif,png等 与img_minor_mime相当。 |
16 | oi_deleted | tinyint(3) unsigned | √ | |
17 | oi_sha1 | varbinary(32) | √ | 文件内容的SHA-1哈希(以base 36格式)。 include / GlobalFunctions.php的wfBaseConvert用于将基数从16(十六进制)转换为基数36,然后将结果填充为31个字符。 类似于img_sha1。 |
18 | 索引 | 索引:oi_name、oi_user_text、oi_actor、oi_sha1 |
页面链接表跟踪Wiki中的所有内部链接。 每个条目都包含源页面的ID和名称空间(数字),以及从该源页面内部链接到的文章名称(以文本形式)和名称空间(数字)。 源页面ID的实例可能很多,与内部页面中的内部链接一样多,但是任何页面ID的每个内部链接只能有一个条目(否则MySQL会抛出致命错误)。
请注意,目标页面可能存在或不存在,并且由于重命名和删除,随着时间的流逝,它们可能引用不同的页面记录。
该表是在1.5版中引入的。 这是合并1.4版链接表和断开链接表的结果。 始终可以使用rebuildall.php维护脚本来重新生成pagelinks表。
参考与:https://www.mediawiki.org/wiki/Manual:Pagelinks_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | pl_from | int(10) unsigned | √ | 指向包含链接的页面的page_id的键。 |
2 | pl_from_namespace | int(11) | √ | 包含链接的页面的page_namespace。 |
3 | pl_namespace | int(11) | √ | 指向目标页面的page_namespace的键。 目标页面可能存在或不存在,由于时间的流逝,由于重命名和删除操作可能会引用不同的页面记录。 |
4 | pl_title | varbinary(255) | √ | 目标页面的page_title的键。 目标页面可能存在或不存在,由于时间的流逝,由于重命名和删除操作可能会引用不同的页面记录。 空格将转换为下划线,并且首字母将自动大写。 因此,例如,指向foo bar的链接的pl_title为“ Foo_bar”。 |
5 | 索引 | 主键:pl_from、pl_namespace、pl_title 索引:pl_from_namespace |
page_props表包含有关解析器通过ParserOutput :: setProperty()设置的页面的属性,例如显示标题和默认类别sortkey。 特别是,所有双下划线的魔术词都会自动记录在这里。 同样,许多扩展使用此表来存储自己的数据。 请注意,重新解析页面会导致该页面的所有属性都从该表中清除并替换为新属性,因此该表不适合存储无法在重新解析期间重新生成的数据。
参考与 : https://www.mediawiki.org/wiki/Manual:Page_props_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | pp_page | int(11) | √ | 索引名称/值对的page_id |
2 | pp_propname | varbinary(60) | √ | 页面属性名称 |
3 | pp_value | blob | √ | 页面属性值 |
4 | pp_sortkey | float | 这样一来,可以根据属性值有效地查询和排序页面(请参阅任务T60032)。 | |
5 | 索引 | 主键:pp_page、pp_propname |
page_restrictions表用于在MediaWiki 1.10及更高版本中存储页面保护级别。 最显着的功能是为高可见性页面引入了层叠页面保护。 该表仅适用于现有页面的限制。 不存在的页面的保护存储在protected_titles表中。
该表在MediaWiki 1.10(r19095–r19703)中引入,并且覆盖了页表中的page_restrictions字段。
参考与:https://www.mediawiki.org/wiki/Manual:Page_restrictions_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | pr_id | int(10) unsigned | √ | 这是表的主键,用于标识表中的特定行。 |
2 | pr_page | int(11) | √ | 该字段包含对page_id的引用,该引用用作该表的外键。 |
3 | pr_type | varbinary(60) | √ | 保护类型(是否适用于编辑,页面移动或类似操作)存储在此字段中。 |
4 | pr_level | varbinary(60) | √ | 此列描述了页面的保护级别。 对仅限sysop的页面提供全面保护,对自动确认的用户提供半保护,或任何其他级别。 |
5 | pr_cascade | tinyint(4) | √ | 此字段确定是否级联保护(意味着页面上所有包含的模板和图像也将受到保护)。 |
6 | pr_user | int(10) unsigned | 保留该字段是为了支持将来的每用户编辑限制系统。 | |
7 | pr_expiry | varbinary(14) | 此字段包含其保护具有设置的到期日期的页面的时间戳,其格式类似于“ Ipblocks”表中的到期时间。 在此列中包含空值的行被视为无限期受保护。 | |
8 | 索引 | 主键:pr_id |
protected_titles表包含对不存在页面的保护。 现有页面的限制存储在page_restrictions表中。
参考与:https://www.mediawiki.org/wiki/Manual:Protected_titles_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | pt_namespace | int(11) | √ | 命名空间。 |
2 | pt_title | varbinary(255) | √ | 页面标题。 |
3 | pt_user | int(10) unsigned | √ | 保护页面标题的用户的用户ID。 |
4 | pt_reason_id | bigint(20) unsigned | √ | 这是注释表中comment_id的外键。 |
5 | pt_timestamp | binary(14) | √ | 采取保护措施的时间戳 |
6 | pt_expiry | varbinary(14) | √ | 保护到期的时间戳 |
7 | pt_create_perm | varbinary(60) | √ | 防护等级 |
8 | 索引 | 主键:pt_namespace、pt_title 索引:pt_timestamp |
querycache表用于缓存昂贵的分组查询。 该表中填充了updateSpecialPages.php维护脚本。
参考与:https://www.mediawiki.org/wiki/Manual:Querycache_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | qc_type | varbinary(32) | √ | 关键字名称,通常是特殊页面的基本名称。 |
2 | qc_value | int(10) unsigned | √ | 某种储值。 尺寸,数量… |
3 | qc_namespace | int(11) | √ | 目标名称空间。 与qc_title结合使用。 |
4 | qc_title | varbinary(255) | √ | 目标标题。 与qc_namespace结合使用 |
5 | 索引 | 索引:qc_type |
表是用于缓存需要两个链接(例如,双重定向)的昂贵分组查询的表。
参考与:https://www.mediawiki.org/wiki/Manual:Querycachetwo_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | qcc_type | varbinary(32) | √ | 关键字名称,通常是特殊页面的基本名称。 |
2 | qcc_value | int(10) unsigned | √ | 关键字名称,通常是特殊页面的基本名称。 |
3 | qcc_namespace | int(11) | √ | 目标名称空间。 与qcc_title结合使用。 |
4 | qcc_title | varbinary(255) | √ | 目标标题。 与qcc_namespace结合使用。 |
5 | qcc_namespacetwo | int(11) | √ | 目标名称空间2。 与qcc_titletwo结合使用。 |
6 | qcc_titletwo | varbinary(255) | √ | 目标标题2。 与qcc_namespacetwo结合使用。 |
7 | 索引 | 索引:qcc_type |
querycache_info表包含对缓存的特殊页面的更新的详细信息。
参考与:https://www.mediawiki.org/wiki/Manual:Querycache_info_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | qci_type | varbinary(32) | √ | 对应于qc_type值 |
2 | qci_timestamp | binary(14) | √ | 最后更新的时间戳 |
3 | 索引 | 主键:qci_type |
最近更改表包含有关对Wiki进行的最新修改的信息(不早于$ wgRCMaxAge;另请参见下文)。该表的内容是在表页面和修订版之外生成的;可以使用维护脚本rebuildrecentchanges.php来重新生成它们。最近更改表本身用于生成最近更改页,相关更改页,监视列表和新页列表,并包含其他表上找不到的信息,例如编辑者的IP地址(取决于Wiki的配置)。最近更改表与修订表非常相似,该修订表用于页面历史记录和用户贡献列表。差异包括:
移动页面时,其RC条目(特别是rc_namespace和rc_title)不会更改。
参考与:https://www.mediawiki.org/wiki/Manual:Recentchanges_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | rc_id | int(11) | √ | 主键 |
2 | rc_timestamp | varbinary(14) | √ | 保留更改的时间戳。对应于rev_timestamp(和log_timestamp,对于日志操作而言)。 |
3 | rc_user | int(10) unsigned | √ | 这等于进行此更改的用户的user_id。对于匿名编辑,初始化脚本和某些批量导入,此字段的值为0。对应于rev_user(如果是log操作,则对应于log_user) |
rc_user_text | varbinary(255) | √ | 此字段保存进行更改的用户的用户名文本,如果更改是由未注册的用户进行的,则保留IP地址。对应于rev_user_text(和log_user_text,对于日志操作而言)。 | |
5 | rc_actor | bigint(20) unsigned | √ | 这是actor表中actor_id的外键。对应于revactor_actor(如果是log操作,则为log_actor)。 |
6 | rc_namespace | int(11) | √ | 可能更改的页面名称空间编号。对于日志操作,对应于log_namespace。如果此行描述了已记录的操作,则此字段的值为-1(NS_SPECIAL),因为它记录了Special:Log子页面的条目。 |
7 | rc_title | varbinary(255) | √ | 可能更改的页面名称,其中名称空间已删除。此字段以文本形式存储信息。在进行日志操作时,对应于log_title。 |
8 | rc_comment_id | bigint(20) unsigned | √ | 这是注释表中comment_id的外键。 |
9 | rc_minor | tinyint(3) unsigned | √ | 记录用户是否将更改标记为“次要”。如果此字段的值为1,则更改被声明为“次要”;否则为0。许多自动更改被标记为次要。对应于rev_minor_edit。 |
10 | rc_bot | tinyint(3) unsigned | √ | 记录是否通过“机器人帐户”进行了更改。如果此字段的值为1,则更改是由“机器人”(即具有“机器人”权限的用户)进行的;否则为0。通过在表单提交中包含参数“ bot = 0”,bot可以避免在更改时设置此标志。同样,具有“回滚”和“ markbotedits”权限的用户可以通过在回滚链接中包含参数“ bot = 1”来回溯地标记其回滚,并将正在回滚的编辑作为bot编辑。 |
11 | rc_new | tinyint(3) unsigned | √ | 如果此字段的值为1,则此编辑将创建一个页面;否则,将创建一个页面。否则为0。 |
12 | rc_cur_id | int(10) unsigned | √ | 该字段链接到页面表中的page_id键,该键存储页面的元数据。对于日志操作,对应于log_page。 |
13 | rc_this_oldid | int(10) unsigned | √ | 链接到修订表中新页面修订的rev_id键(在编辑之后)。 |
14 | rc_last_oldid | int(10) unsigned | √ | 链接到rev_parent_id,即此编辑之前的修订版的rev_id,其中包括页面的先前内容。 |
15 | rc_type | tinyint(3) unsigned | √ | 此字段存储对页面进行的修改的类型: 0(RC_EDIT)–编辑现有页面 1(RC_NEW)–新页面 2(RC_MOVE)–移动(作废) 3(RC_LOG)–日志操作(在MediaWiki 1.2中添加) 4(RC_MOVE_OVER_REDIRECT)–移至重定向(过时) 5(RC_EXTERNAL)–外部最近的更改。最初由Wikidata使用 6(RC_CATEGORIZE)–类别成员资格更改,请参见手册:CategoryMembershipChanges(在MediaWiki 1.27中添加,Gerrit更改239060) |
16 | rc_source | varbinary(16) | √ | 更改条目的源(替换rc_type)。 允许指定更改的类型,并允许更灵活地指定不同类型的最近更改条目。例如,对于核心的最近更改类型,“ mw.edit”,“ mw.log”,“ mw.new”以及扩展提供的“ wb”和“ flow”。 |
17 | rc_patrolled | tinyint(3) unsigned | √ | 如果启用了“最近更改巡逻”选项($ wgUseRCPatrol),则用户可以将更改标记为已被检查,以删除RC列表上的警告标志。值为0表示未对变更进行巡更,值为1表示已对变更进行了审查。 (在MediaWiki 1.4中引入) |
18 | rc_ip | varbinary(40) | √ | 如果启用$ wgPutIPinRC,则此字段存储在rc_user上指定的用户的IP地址。如果$ wgPutIPinRC为false,则该字段将包含一个空字符串。 在某些旧的MediaWiki版本中,此字段用于生成CheckUser报表,但是由于CheckUser将数据存储在单独的cu_changes表中,因此现在认为它已过时。设置扩展名后,可以一次复制该字段中的数据。 |
19 | rc_old_len | int(11) | 此字段存储以前修订文本的大小(以字节为单位)。此字段用于在最近的更改,相关更改和监视列表中生成添加和删除的字符功能。 | |
20 | rc_new_len | int(11) | 此字段存储当前修订文本的大小(以字节为单位)。此字段用于在最近的更改,相关更改和监视列表中生成添加和删除的字符功能。对应于rev_len。 | |
21 | rc_deleted | tinyint(3) unsigned | √ | 该字段存储此特定修订在Wiki中可见性的值。创建它是为了适应删除系统的最新修订。该字段类似于rev_deleted或log_deleted。 |
22 | rc_logid | int(10) unsigned | √ | 该字段是日志表的外键,如果此行对应于日志条目,则该表链接到log_id。该字段在MediaWiki 1.10中引入。 |
23 | rc_log_type | varbinary(255) | 如果在此行中引用了日志操作,则此字段存储已执行且在此行中引用的日志操作的类型。典型值为阻止,删除,导入,makebot,移动,新用户,保护,重命名用户,权限,上载。该字段可与log_type相媲美。 | |
24 | rc_log_action | varbinary(255) | 如果在此行中引用了日志操作,则此字段存储已执行且在此行中引用的日志操作的类型。该字段与log_action可比。 | |
25 | rc_params | blob | 在重写log_params文本之后,此字段将是log_params的镜像。在MediaWiki 1.10中引入。 | |
26 | 索引 | 主键:rc_id 索引:rc_timestamp、rc_user_text、rc_actor、rc_namespace、rc_new、rc_cur_id、rc_this_oldid、rc_ip |
重定向表包含当前当前重定向的每个页面(即,不是用于重定向的旧修订版)的源页面ID和有关目标的信息。 目标页面可能存在或可能不存在。
参考与:https://www.mediawiki.org/wiki/Manual:Redirect_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | rd_from | int(10) unsigned | √ | 包含源页面的page_id。 |
2 | rd_namespace | int(11) | √ | 包含目标名称空间的编号。 |
3 | rd_title | varbinary(255) | √ | 包含目标页面的已清理标题。 它以文本形式存储,下划线代替空格。 |
4 | rd_interwiki | varbinary(32) | 如果存在目标,则包含目标的分片ID(另请参见bugzilla:218),否则为NULL。 | |
5 | rd_fragment | varbinary(255) | 仅当使用Interwiki前缀时,此字段才为空:#REDIRECT [[prefix:…]](对于Wikipedia来说是前缀,例如“ w:”,对于荷兰语则是中间语言链接前缀,例如“ nl:”,但不这样) 都)。 在这种情况下,重定向在Special:WhatLinksHere中不可见(即使目标位于同一Wiki中),rd_namespace始终为0,并且rd_title可能包含可能的名称空间前缀,但是rd_fragment可以为非NULL。 | |
6 | 索引 | 主键:rd_from 索引:rd_namespace |
version_actor_temp表是用于actor迁移的临时表,它在修订表的每一行和actor表的一行之间创建关系。 在英语维基百科这样的大型Wiki上,更改修订表是一个月的过程。 创建该表是为了避免这种更改,并且将来会合并到修订表中。
参考与:https://www.mediawiki.org/wiki/Manual:Revision_actor_temp_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | revactor_rev | int(10) unsigned | √ | revision.rev_id |
2 | revactor_actor | bigint(20) unsigned | √ | actor.actor_id的键。 替换version.rev_user和revision.rev_user_text,最终将被revision.rev_actor替换。 |
3 | revactor_timestamp | binary(14) | √ | 复制revision.rev_timestamp,以建立索引。 |
4 | revactor_page | int(10) unsigned | 复制revision.rev_page,以建立索引。 | |
5 | 索引 | 主键:revactor_rev、revactor_actor 索引:revactor_page |
version_comment_temp表是一个临时表,用于在修订表的每一行和注释表的一行之间创建关系。 创建它的目的是避免阻塞修订表。 在英语维基百科这样的大型Wiki上,更改修订表需要一个月的时间。 创建该表是为了避免这种更改,并且将来会合并回修订版。
参考与:https://www.mediawiki.org/wiki/Manual:Revision_comment_temp_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | revcomment_rev | int(10) unsigned | √ | revision.rev_id |
2 | revcomment_comment_id | bigint(20) unsigned | √ | comment.comment_id |
3 | 索引 | 主键:revcomment_rev、revcomment_comment_id |
searchindex表用于提供全文本搜索。 在MySQL 5.6之前,全文索引仅由MyISAM表引擎提供,而不由InnoDB提供。 但是,文本表(1.4和更早版本中的cur表)使用InnoDB类型来提高并发性,因此需要使用当前页面文本的副本才能使用这些索引。 这就是该表在那里的原因。 如果使用Postgres,则此表不存在:全文信息直接存储为page和pagecontent表中的列。
参考与:https://www.mediawiki.org/wiki/Manual:Searchindex_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | si_page | int(10) unsigned | √ | page_id |
2 | si_title | varchar(255) | √ | 页面标题的糊涂版本。 |
3 | si_text | mediumtext | √ | 页面当前文本的糊涂版本。 |
4 | 索引 | 主键:si_page 索引:si_title、si_text |
updatelog表记录MediaWiki更新,每个执行的更新脚本一个文本键行。
参考与:https://www.mediawiki.org/wiki/Manual:Updatelog_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ul_key | varbinary(255) | √ | 指向维护脚本的指针,该维护脚本在MediaWiki更新期间执行。 对于update.php,条目的格式类似于updatelist-1.22.3-1393593680。 指向维护脚本,MediaWiki版本和UNIX时间时间戳的指针。 |
2 | ul_value | blob | 记录的操作的序列化数据; | |
3 | 索引 | 主键:ul_key |
Manual:UploadStash表存储有关新上载的文件的信息,然后再将它们移到实际的文件存储中,另请参见Manual:UploadStash。 它包含有关不完整上传的信息; 这些可以例如 用户在上传完成之前离开上传页面时发生。 cleanupUploadStash.php维护脚本可用于从该表中删除孤立的条目。
参考与:https://www.mediawiki.org/wiki/Manual:Uploadstash_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | us_id | int(10) unsigned | √ | 主键 |
2 | us_user | int(10) unsigned | √ | 上传文件的用户。 |
3 | us_key | varbinary(255) | √ | 文件密钥。 这是应用程序实际搜索文件的方式。 这可能消失,或成为主键。 |
4 | us_orig_path | varbinary(255) | √ | 原始路径。 |
5 | us_path | varbinary(255) | √ | 实际存储文件的临时路径。 |
6 | us_source_type | varbinary(50) | 文件来自哪种上传类型(有时)。 例如。“URL” | |
7 | us_timestamp | varbinary(14) | √ | 文件添加的日期/时间 |
8 | us_status | varbinary(50) | √ | 例如。“成品” |
9 | us_chunk_inx | int(10) unsigned | 块计数器从0开始,当前偏移量存储在us_size中 | |
10 | us_props | blob | File :: getPropsFromPath的序列化文件属性 | |
11 | us_size | int(10) unsigned | √ | File :: getPropsFromPath中的文件属性。 这些可能被证明是不必要的。 |
12 | us_sha1 | varbinary(31) | √ | 该哈希值来自File :: sha1Base36(),为31个字符 |
13 | us_mime | varbinary(255) | img_major_mime和img_minor_mime的组合。 例如image / png | |
14 | us_media_type | enum(‘UNKNOWN’,‘BITMAP’,‘DRAWING’,‘AUDIO’,‘VIDEO’ ,‘MULTIMEDIA’,‘OFFICE’,‘TEXT’,‘EXECUTABLE’,‘ARCHIVE’,‘3D’) |
由MEDIATYPE_xxx常量定义的媒体类型应与图像表中的定义重复。 | |
15 | us_image_width | int(10) unsigned | 图像的宽 | |
16 | us_image_height | int(10) unsigned | 图像的长 | |
17 | us_image_bits | smallint(5) unsigned | 图像的大小 | |
18 | 索引 | 主键:us_id 索引:us_user、us_key、us_timestamp |
user_former_groups表存储用户曾经属于的组(将不包含用户在MW 1.17之前属于的组)。 用户可能再次属于这些组; 如果您想知道,请检查表user_groups。 这用于防止MediaWiki自动将用户添加到之前已手动从中删除用户的组。 该表已在r90749中添加。
参考与:https://www.mediawiki.org/wiki/Manual:User_former_groups_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ufg_user | int(10) unsigned | √ | user_id |
2 | ufg_group | varbinary(255) | √ | 用户所属的组的名称。 |
3 | 索引 | 主键:ufg_user、ufg_group |
user_groups表将特定MediaWiki安装中的用户映射到其相应的用户权限。可以通过LocalSettings.php或扩展名为每个组分配混合的权限;特定组的所有用户由于其在该组中的成员身份而被授予这些权限。由于该表与用户表是分开的,因此允许创建共享用户数据库,其权限在Wiki场中的Wiki之间有所不同。该表是在MediaWiki 1.5中的r5648上引入的。如果您使用的是MediaWiki 1.3或1.4,请查看手册:用户权限(旧版本)。在MediaWiki 1.5之前,用户权限存储在user表的user_rights字段中。
所有未注册的用户将自动属于“ *”组,并且仅属于该组;另外,所有注册用户都自动成为“用户”组的一部分。用户组是相加的;结果,所有注册用户也具有分配给“ *”组的所有特权。以前有一个“ sysop位”。现在,将用户设为sysop会向user_groups添加一行。
隐式组成员身份和自动提升的组(例如*,用户或自动确认)不存储在此表中。要检索所有有效组,请使用User :: getEffectiveGroups()。
参考与:https://www.mediawiki.org/wiki/Manual:User_groups_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ug_user | int(10) unsigned | √ | 该字段链接到给定用户的user_id。 它是一个外键,用于将帐户与其分配的权限关联起来。 |
2 | ug_group | varbinary(255) | √ | 此字段存储用户的权限,该权限存储为组。 在运行时,$ wgGroupPermissions会将组密钥与特定权限相关联。 用户将拥有他们明确所属的任何组的组合权限,以及隐式的“ *”和“用户”组。 ug_group值示例:“ bot”,“ bureaucrat”,“ sysop”。 用户所在的每个(显式)组都有一行。 |
3 | ug_expiry | varbinary(14) | 该字段存储用户组的到期时间。 它类似于页面限制表中的pr_expiry和ipblocks表中的ipb_expiry。 | |
4 | 索引 | 主键:ug_user、ug_group 索引:ug_expiry |
user_newtalk表存储其对话页已更改的用户的ID或IP地址。 此信息用于显示“您有新消息”框。 当用户查看页面时,相应的行将被删除。
参考与:https://www.mediawiki.org/wiki/Manual:User_newtalk_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | user_id | int(10) unsigned | √ | 关键字user.user_id或“ 0”(对于匿名用户) |
2 | user_ip | varbinary(40) | √ | 如果用户是匿名用户,则将其IP地址存储在此处,因为user_id为0不确定。 |
3 | user_last_timestamp | varbinary(14) | 自上次查看以来获得差异的时间戳记。 | |
4 | 索引 | 索引:user_id、user_ip |
user_properties表存储用户首选项。 它替换了旧的user.user_options blob。 仅存储非默认设置,因此,对于未保存替代首选项的所有人(不仅是新帐户),现在都将反映对默认值的更改。
参考与:https://www.mediawiki.org/wiki/Manual:User_properties_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | up_user | int(10) unsigned | √ | 用户表的user_id字段的外键。 |
2 | up_property | varbinary(255) | √ | 用户首选项,请参见手册:$ wgDefaultUserOptions。 示例:性别,记住密码,注意事项 |
3 | up_value | blob | 首选项值。 | |
4 | 索引 | 主键:up_user、up_property |
每个注册用户的监视列表包含其ID,该用户监视的所有页面,名称空间编号,不带名称空间的页面标题以及用于页面更改通知的通知时间戳。
注意:MediaWiki的假设是,当人们观看页面时,他们要么观看谈话页面,要么观看普通页面,或者都不观看。 这意味着MediaWiki总是为每个观看页面自动添加两个条目:一个用于页面,另一个用于其谈话页面。 例如。 当用户观看主页时,数据库表中将有两行:一行用于名称空间0中的主页,另一行用于名称空间1中的主页(这是相应的对话页)。 缺少的行由维护脚本update.php添加。
参考与:https://www.mediawiki.org/wiki/Manual:Watchlist_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | wl_id | int(10) unsigned | √ | 主键 |
2 | wl_user | int(10) unsigned | √ | user.user_id. |
3 | wl_namespace | int(11) | √ | page_namespace. |
4 | wl_title | varbinary(255) | √ | page_title |
5 | wl_notificationtimestamp | varbinary(14) | 这是观看者上次访问后,另一个用户对页面进行的第一次更改的时间戳; 用户访问该页面时,时间戳将被清除。 时间戳更新后,可能会发送通知电子邮件。 只要$ wgUseEnotif或$ wgShowUpdatedMarker中的任何一个为真,当用户访问页面时,无论其个人设置如何,时间戳始终被清除(设为NULL)。 |
|
6 | 索引 | 主键:wl_id 索引:wl_user、wl_namespace |
templatelinks表包含每个当前包含的主机页面的ID,所包含页面的名称空间编号及其不含名称空间的标题。
目标页面可能存在或不存在,由于时间的流逝,由于重命名和删除操作可能会引用不同的页面记录。
参考与:https://www.mediawiki.org/wiki/Manual:Templatelinks_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | tl_from | int(10) unsigned | √ | 指向包含链接的页面的page_id的键。 |
2 | tl_from_namespace | int(11) | √ | 包含链接的页面的page_namespace。 |
3 | tl_namespace | int(11) | √ | 指向目标页面的page_namespace的键。 与tl_title结合使用。 |
4 | tl_title | varbinary(255) | √ | 目标页面的page_title的键。 与tl_namespace结合使用。 |
5 | 索引 | 主键:tl_from、tl_namespace、tl_title 索引:tl_from_namespace |
sites表于2013年5月在MediaWiki 1.21中引入,其中包含Wiki已知的所有站点。
参考与:https://www.mediawiki.org/wiki/Manual:Sites_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | site_id | int(10) unsigned | √ | 网站的数字ID。 这是一个自动递增的主键。 |
2 | site_global_key | varbinary(32) | √ | 网站的全局标识符,例如:“ enwiktionary” |
3 | site_type | varbinary(32) | √ | 网站类型,例如:“ mediawiki” |
4 | site_group | varbinary(32) | √ | 网站的组,例如:“维基百科” |
5 | site_source | varbinary(32) | √ | 站点数据的来源,例如:“本地”,“ wikidata”,“ my-magical-repo” |
6 | site_language | varbinary(32) | √ | 网站主要语言的语言代码。 |
7 | site_protocol | varbinary(32) | √ | 网站的协议,例如:“ http://”,“ irc://”,“ //”。该字段是查找的索引,是根据site_data中特定于类型的数据构建的。 |
8 | site_domain | varbinary(255) | √ | 网站的域名以相反的顺序,即“ org.mediawiki.www。”。 该字段是查找的索引,是根据site_data中特定于类型的数据构建的。 |
9 | site_data | blob | √ | 类型相关的站点数据。 |
10 | site_forward | tinyint(1) | √ | 如果site.tld / path / key:pageTitle应该将用户转发到实际站点上的页面,其中“ key”是本地标识符。 |
11 | site_config | blob | √ | 类型相关的站点配置。 例如,如果是MediaWiki,则应允许模板包含。 |
12 | 索引 | 主键:site_id 索引:site_global_key、site_type、site_group、site_source、site_language、site_language、site_protocol、site_domain、site_forward |
参考与:https://www.mediawiki.org/wiki/Manual:Site_identifiers_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | si_site | int(10) unsigned | √ | 网站表中网站记录的ID。 |
2 | si_type | varbinary(32) | √ | 两个值之一: interwiki:密钥是interwiki链接标识符,例如en,tr,simple。 equivalent:键是例如 “语言链接”部分 在大多数情况下,这些条目都存在并且对于Wikimedia站点而言是相同的。 有些站点只有一个维基百科条目,例如公共资源,媒体维基,元数据。 |
3 | si_key | varbinary(32) | √ | 语言代码或其他链接代码,例如en,tr,simple,commons,plwikimedia,用于标识站点类型,以实现Wiki场中站点之间的链接。 |
4 | 索引 | 主键:si_type、si_key 索引:si_site |
site_stats表仅包含一行,其中包含有关网站状态的一些汇总信息。 如果该表中的信息有误,则可以使用initSiteStats.php维护脚本进行更新。
参考与:https://www.mediawiki.org/wiki/Manual:Site_stats_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | ss_row_id | int(10) unsigned | √ | 主键,应包含1。 |
2 | ss_total_edits | bigint(20) unsigned | 执行的编辑总数。 | |
3 | ss_good_articles | bigint(20) unsigned | 符合以下条件的页面总数: 在名称空间0中 不是重定向 包含文字“ [[” |
|
4 | ss_total_pages | bigint(20) unsigned | 页面总数,理论上等于SELECT COUNT(*)FROM页面; 除了更快 | |
5 | ss_users | bigint(20) unsigned | 用户数,理论上等于用户的SELECT COUNT(*); | |
6 | ss_active_users | bigint(20) unsigned | 仍在编辑的用户数 | |
7 | ss_images | bigint(20) unsigned | 图片数量,相当于:SELECT COUNT(*)FROM image; | |
8 | 索引 | 主键:ss_row_id |
槽位表表示修订版和内容对象之间的n:m关系。 内容对象可以在一个或多个修订版中具有特定的“角色”。 每个修订版可以具有多个内容对象,每个对象具有不同的角色。
参考与: https://www.mediawiki.org/wiki/Manual:Slots_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | slot_revision_id | bigint(20) unsigned | √ | 对version.rev_id或archive.ar_rev_id的引用。 slot_revision_id和slot_role_id一起构成主键。 |
2 | slot_role_id | smallint(5) unsigned | √ | 引用slot_roles.role_id |
3 | slot_content_id | bigint(20) unsigned | √ | 引用content.content_id |
4 | slot_origin | bigint(20) unsigned | √ | 发起插槽内容的修订的version.rev_id。 要查找更改插槽的修订,请查找slot_origin = slot_revision_id。 |
5 | 索引 | 主键:slot_revision_id、slot_role_id |
slot_roles表是角色名称的规范化表。
参考与: https://www.mediawiki.org/wiki/Manual:Slot_roles_table
序号
|
字段名
|
属性
|
非 空 | 说明 |
---|---|---|---|---|
1 | role_id | smallint(6) | √ | 主键 |
2 | role_name | varbinary(64) | √ | |
3 | 索引 | 主键:role_id 索引:role_name |