{
	"comment": "Set unsigned true for rc_id in recentchanges table (T62962)",
	"before": {
		"name": "recentchanges",
		"comment": "Primarily a summary table for Special:RecentChanges, this table contains some additional info on edits from the last few days",
		"columns": [
			{
				"name": "rc_id",
				"type": "integer",
				"options": {
					"autoincrement": true,
					"notnull": true
				}
			},
			{
				"name": "rc_timestamp",
				"type": "mwtimestamp",
				"options": {
					"notnull": true,
					"length": 14
				}
			},
			{
				"name": "rc_actor",
				"comment": "As in revision",
				"type": "bigint",
				"options": {
					"unsigned": true,
					"notnull": true
				}
			},
			{
				"name": "rc_namespace",
				"comment": "When pages are renamed, their RC entries do _not_ change.",
				"type": "integer",
				"options": {
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_title",
				"type": "binary",
				"options": {
					"notnull": true,
					"default": "",
					"length": 255
				}
			},
			{
				"name": "rc_comment_id",
				"comment": "as in revision...",
				"type": "bigint",
				"options": {
					"unsigned": true,
					"notnull": true
				}
			},
			{
				"name": "rc_minor",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_bot",
				"comment": "Edits by user accounts with the 'bot' rights key are marked with a 1 here, and will be hidden from the default view.",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_new",
				"comment": "Set if this change corresponds to a page creation",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_cur_id",
				"comment": "Key to page_id (was cur_id prior to 1.5). This will keep links working after moves while retaining the at-the-time name in the changes list.",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_this_oldid",
				"comment": "rev_id of the given revision",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_last_oldid",
				"comment": "rev_id of the prior revision, for generating diff links.",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_type",
				"comment": "The type of change entry (RC_EDIT,RC_NEW,RC_LOG,RC_EXTERNAL)",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_source",
				"comment": "The source of the change entry (replaces rc_type) default of '' is temporary, needed for initial migration",
				"type": "binary",
				"options": {
					"notnull": true,
					"default": "",
					"length": 16
				}
			},
			{
				"name": "rc_patrolled",
				"comment": "If the Recent Changes Patrol option is enabled, users may mark edits as having been reviewed to remove a warning flag on the RC list. A value of 1 indicates the page has been reviewed.",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_ip",
				"comment": "Recorded IP address the edit was made from, if the $wgPutIPinRC option is enabled.",
				"type": "binary",
				"options": {
					"notnull": true,
					"default": "",
					"length": 40
				}
			},
			{
				"name": "rc_old_len",
				"comment": "Text length in characters before the edit",
				"type": "integer",
				"options": {
					"notnull": false
				}
			},
			{
				"name": "rc_new_len",
				"comment": "Text length in characters after the edit",
				"type": "integer",
				"options": {
					"notnull": false
				}
			},
			{
				"name": "rc_deleted",
				"comment": "Visibility of recent changes items, bitfield",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_logid",
				"comment": "Value corresponding to log_id, specific log entries",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_log_type",
				"comment": "Store log type info here, or null",
				"type": "binary",
				"options": {
					"notnull": false,
					"default": null,
					"length": 255
				}
			},
			{
				"name": "rc_log_action",
				"comment": "Store log action or null",
				"type": "binary",
				"options": {
					"notnull": false,
					"default": null,
					"length": 255
				}
			},
			{
				"name": "rc_params",
				"comment": "Log params",
				"type": "blob",
				"options": {
					"notnull": false,
					"length": 65535
				}
			}
		],
		"indexes": [
			{
				"name": "rc_timestamp",
				"comment": "Special:Recentchanges",
				"columns": [
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_namespace_title_timestamp",
				"comment": "Special:Watchlist",
				"columns": [
					"rc_namespace",
					"rc_title",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_cur_id",
				"comment": "Special:Recentchangeslinked when finding changes in pages linked from a page",
				"columns": [
					"rc_cur_id"
				],
				"unique": false
			},
			{
				"name": "new_name_timestamp",
				"comment": "Special:Newpages",
				"columns": [
					"rc_new",
					"rc_namespace",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_ip",
				"comment": "Blank unless $wgPutIPinRC=true (false at WMF), possibly used by extensions, but mostly replaced by CheckUser.",
				"columns": [
					"rc_ip"
				],
				"unique": false
			},
			{
				"name": "rc_ns_actor",
				"comment": "Probably intended for Special:NewPages namespace filter",
				"columns": [
					"rc_namespace",
					"rc_actor"
				],
				"unique": false
			},
			{
				"name": "rc_actor",
				"comment": "SiteStats active user count, Special:ActiveUsers, Special:NewPages user filter",
				"columns": [
					"rc_actor",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_name_type_patrolled_timestamp",
				"comment": "ApiQueryRecentChanges (T140108)",
				"columns": [
					"rc_namespace",
					"rc_type",
					"rc_patrolled",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_this_oldid",
				"comment": "Article.php and friends (T139012)",
				"columns": [
					"rc_this_oldid"
				],
				"unique": false
			}
		],
		"pk": [
			"rc_id"
		]
	},
	"after": {
		"name": "recentchanges",
		"comment": "Primarily a summary table for Special:Recentchanges, this table contains some additional info on edits from the last few days, see Article::editUpdates()",
		"columns": [
			{
				"name": "rc_id",
				"type": "integer",
				"options": {
					"autoincrement": true,
					"unsigned": true,
					"notnull": true
				}
			},
			{
				"name": "rc_timestamp",
				"type": "mwtimestamp",
				"options": {
					"notnull": true,
					"length": 14
				}
			},
			{
				"name": "rc_actor",
				"comment": "As in revision",
				"type": "bigint",
				"options": {
					"unsigned": true,
					"notnull": true
				}
			},
			{
				"name": "rc_namespace",
				"comment": "When pages are renamed, their RC entries do _not_ change.",
				"type": "integer",
				"options": {
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_title",
				"type": "binary",
				"options": {
					"notnull": true,
					"default": "",
					"length": 255
				}
			},
			{
				"name": "rc_comment_id",
				"comment": "as in revision...",
				"type": "bigint",
				"options": {
					"unsigned": true,
					"notnull": true
				}
			},
			{
				"name": "rc_minor",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_bot",
				"comment": "Edits by user accounts with the 'bot' rights key are marked with a 1 here, and will be hidden from the default view.",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_new",
				"comment": "Set if this change corresponds to a page creation",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_cur_id",
				"comment": "Key to page_id (was cur_id prior to 1.5). This will keep links working after moves while retaining the at-the-time name in the changes list.",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_this_oldid",
				"comment": "rev_id of the given revision",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_last_oldid",
				"comment": "rev_id of the prior revision, for generating diff links.",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_type",
				"comment": "The type of change entry (RC_EDIT,RC_NEW,RC_LOG,RC_EXTERNAL)",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_source",
				"comment": "The source of the change entry (replaces rc_type) default of '' is temporary, needed for initial migration",
				"type": "binary",
				"options": {
					"notnull": true,
					"default": "",
					"length": 16
				}
			},
			{
				"name": "rc_patrolled",
				"comment": "If the Recent Changes Patrol option is enabled, users may mark edits as having been reviewed to remove a warning flag on the RC list. A value of 1 indicates the page has been reviewed.",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_ip",
				"comment": "Recorded IP address the edit was made from, if the $wgPutIPinRC option is enabled.",
				"type": "binary",
				"options": {
					"notnull": true,
					"default": "",
					"length": 40
				}
			},
			{
				"name": "rc_old_len",
				"comment": "Text length in characters before the edit",
				"type": "integer",
				"options": {
					"notnull": false
				}
			},
			{
				"name": "rc_new_len",
				"comment": "Text length in characters after the edit",
				"type": "integer",
				"options": {
					"notnull": false
				}
			},
			{
				"name": "rc_deleted",
				"comment": "Visibility of recent changes items, bitfield",
				"type": "mwtinyint",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_logid",
				"comment": "Value corresponding to log_id, specific log entries",
				"type": "integer",
				"options": {
					"unsigned": true,
					"notnull": true,
					"default": 0
				}
			},
			{
				"name": "rc_log_type",
				"comment": "Store log type info here, or null",
				"type": "binary",
				"options": {
					"notnull": false,
					"default": null,
					"length": 255
				}
			},
			{
				"name": "rc_log_action",
				"comment": "Store log action or null",
				"type": "binary",
				"options": {
					"notnull": false,
					"default": null,
					"length": 255
				}
			},
			{
				"name": "rc_params",
				"comment": "Log params",
				"type": "blob",
				"options": {
					"notnull": false,
					"length": 65535
				}
			}
		],
		"indexes": [
			{
				"name": "rc_timestamp",
				"comment": "Special:Recentchanges",
				"columns": [
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_namespace_title_timestamp",
				"comment": "Special:Watchlist",
				"columns": [
					"rc_namespace",
					"rc_title",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_cur_id",
				"comment": "Special:Recentchangeslinked when finding changes in pages linked from a page",
				"columns": [
					"rc_cur_id"
				],
				"unique": false
			},
			{
				"name": "new_name_timestamp",
				"comment": "Special:Newpages",
				"columns": [
					"rc_new",
					"rc_namespace",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_ip",
				"comment": "Blank unless $wgPutIPinRC=true (false at WMF), possibly used by extensions, but mostly replaced by CheckUser.",
				"columns": [
					"rc_ip"
				],
				"unique": false
			},
			{
				"name": "rc_ns_actor",
				"comment": "Probably intended for Special:NewPages namespace filter",
				"columns": [
					"rc_namespace",
					"rc_actor"
				],
				"unique": false
			},
			{
				"name": "rc_actor",
				"comment": "SiteStats active user count, Special:ActiveUsers, Special:NewPages user filter",
				"columns": [
					"rc_actor",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_name_type_patrolled_timestamp",
				"comment": "ApiQueryRecentChanges (T140108)",
				"columns": [
					"rc_namespace",
					"rc_type",
					"rc_patrolled",
					"rc_timestamp"
				],
				"unique": false
			},
			{
				"name": "rc_this_oldid",
				"comment": "Article.php and friends (T139012)",
				"columns": [
					"rc_this_oldid"
				],
				"unique": false
			}
		],
		"pk": [
			"rc_id"
		]
	}
}
