maintenance/abstractSchemaChanges/patch-logging-rename-indexes.json
{
"comment": "Rename several indexes in logging table to comply with database convention by having log_ prefix",
"before": {
"name": "logging",
"columns": [
{
"name": "log_id",
"comment": "Log ID, for referring to this specific log entry, probably for deletion and such.",
"type": "integer",
"options": { "unsigned": true, "notnull": true, "autoincrement": true }
},
{
"name": "log_type",
"comment": "Symbolic key for the general log type. The output format will be controlled by the log_action field.",
"type": "binary",
"options": { "notnull": true, "default": "", "length": 32 }
},
{
"name": "log_action",
"comment": "Symbolic key for the log action type.",
"type": "binary",
"options": { "notnull": true, "default": "", "length": 32 }
},
{
"name": "log_timestamp",
"type": "mwtimestamp",
"options": { "notnull": true, "default": "19700101000000" }
},
{
"name": "log_actor",
"type": "bigint",
"options": { "notnull": true, "unsigned": true }
},
{
"name": "log_namespace",
"comment": "Key to the namespace of the page affected",
"type": "integer",
"options": { "notnull": true, "default": 0 }
},
{
"name": "log_title",
"comment": "Key to the title of the page affected",
"type": "binary",
"options": { "notnull": true, "default": "", "length": 255 }
},
{
"name": "log_page",
"comment": "Key to the page affected",
"type": "integer",
"options": { "notnull": false, "unsigned": true }
},
{
"name": "log_comment_id",
"comment": "Key to comment_id. Comment summarizing the change.",
"type": "bigint",
"options": { "notnull": true, "unsigned": true }
},
{
"name": "log_params",
"comment": "LF separated list (old system) or serialized PHP array (new system)",
"type": "blob",
"options": { "notnull": true, "length": 65530 }
},
{
"name": "log_deleted",
"comment": "rev_deleted for logs",
"type": "mwtinyint",
"options": { "notnull": true, "unsigned": true, "default": 0 }
}
],
"indexes": [
{
"name": "type_time",
"comment": "Special:Log type filter",
"columns": [ "log_type", "log_timestamp" ],
"unique": false
},
{
"name": "actor_time",
"comment": "Special:Log performer filter",
"columns": [ "log_actor", "log_timestamp" ],
"unique": false
},
{
"name": "page_time",
"comment": "Special:Log title filter, log extract",
"columns": [ "log_namespace", "log_title", "log_timestamp" ],
"unique": false
},
{
"name": "times",
"comment": "Special:Log unfiltered",
"columns": [ "log_timestamp" ],
"unique": false
},
{
"name": "log_actor_type_time",
"comment": "Special:Log filter by performer and type",
"columns": [ "log_actor", "log_type", "log_timestamp" ],
"unique": false
},
{
"name": "log_page_id_time",
"comment": "Apparently just used for a few maintenance pages (findMissingFiles.php, Flow). Could be removed?",
"columns": [ "log_page", "log_timestamp" ],
"unique": false
},
{
"name": "log_type_action",
"comment": "Special:Log action filter",
"columns": [ "log_type", "log_action", "log_timestamp" ],
"unique": false
}
],
"pk": [ "log_id" ]
},
"after": {
"name": "logging",
"columns": [
{
"name": "log_id",
"comment": "Log ID, for referring to this specific log entry, probably for deletion and such.",
"type": "integer",
"options": { "unsigned": true, "notnull": true, "autoincrement": true }
},
{
"name": "log_type",
"comment": "Symbolic key for the general log type. The output format will be controlled by the log_action field.",
"type": "binary",
"options": { "notnull": true, "default": "", "length": 32 }
},
{
"name": "log_action",
"comment": "Symbolic key for the log action type.",
"type": "binary",
"options": { "notnull": true, "default": "", "length": 32 }
},
{
"name": "log_timestamp",
"type": "mwtimestamp",
"options": { "notnull": true, "default": "19700101000000" }
},
{
"name": "log_actor",
"type": "bigint",
"options": { "notnull": true, "unsigned": true }
},
{
"name": "log_namespace",
"comment": "Key to the namespace of the page affected",
"type": "integer",
"options": { "notnull": true, "default": 0 }
},
{
"name": "log_title",
"comment": "Key to the title of the page affected",
"type": "binary",
"options": { "notnull": true, "default": "", "length": 255 }
},
{
"name": "log_page",
"comment": "Key to the page affected",
"type": "integer",
"options": { "notnull": false, "unsigned": true }
},
{
"name": "log_comment_id",
"comment": "Key to comment_id. Comment summarizing the change.",
"type": "bigint",
"options": { "notnull": true, "unsigned": true }
},
{
"name": "log_params",
"comment": "LF separated list (old system) or serialized PHP array (new system)",
"type": "blob",
"options": { "notnull": true, "length": 65530 }
},
{
"name": "log_deleted",
"comment": "rev_deleted for logs",
"type": "mwtinyint",
"options": { "notnull": true, "unsigned": true, "default": 0 }
}
],
"indexes": [
{
"name": "log_type_time",
"comment": "Special:Log type filter",
"columns": [ "log_type", "log_timestamp" ],
"unique": false
},
{
"name": "log_actor_time",
"comment": "Special:Log performer filter",
"columns": [ "log_actor", "log_timestamp" ],
"unique": false
},
{
"name": "log_page_time",
"comment": "Special:Log title filter, log extract",
"columns": [ "log_namespace", "log_title", "log_timestamp" ],
"unique": false
},
{
"name": "log_times",
"comment": "Special:Log unfiltered",
"columns": [ "log_timestamp" ],
"unique": false
},
{
"name": "log_actor_type_time",
"comment": "Special:Log filter by performer and type",
"columns": [ "log_actor", "log_type", "log_timestamp" ],
"unique": false
},
{
"name": "log_page_id_time",
"comment": "Apparently just used for a few maintenance pages (findMissingFiles.php, Flow). Could be removed?",
"columns": [ "log_page", "log_timestamp" ],
"unique": false
},
{
"name": "log_type_action",
"comment": "Special:Log action filter",
"columns": [ "log_type", "log_action", "log_timestamp" ],
"unique": false
}
],
"pk": [ "log_id" ]
}
}