maintenance/abstractSchemaChanges/patch-page_restrictions-pr_page.json
{
"comment": "Set unsigned true for pr_page in page_restrictions table",
"before": {
"name": "page_restrictions",
"comment": "Used for storing page restrictions (i.e. protection levels)",
"columns": [
{
"name": "pr_id",
"comment": "Field for an ID for this restrictions row (sort-key for Special:ProtectedPages)",
"type": "integer",
"options": { "unsigned": true, "notnull": true, "autoincrement": true }
},
{
"name": "pr_page",
"comment": "Page to apply restrictions to (Foreign Key to page).",
"type": "integer",
"options": { "notnull": true }
},
{
"name": "pr_type",
"comment": "The protection type (edit, move, etc)",
"type": "binary",
"options": { "length": 60, "notnull": true }
},
{
"name": "pr_level",
"comment": "The protection level (Sysop, autoconfirmed, etc)",
"type": "binary",
"options": { "length": 60, "notnull": true }
},
{
"name": "pr_cascade",
"type": "mwtinyint",
"options": { "notnull": true }
},
{
"name": "pr_expiry",
"comment": "Field for time-limited protection.",
"type": "mwtimestamp",
"options": {
"notnull": false,
"CustomSchemaOptions": {
"allowInfinite": true
}
}
}
],
"indexes": [
{ "name": "pr_pagetype", "columns": [ "pr_page", "pr_type" ], "unique": true },
{ "name": "pr_typelevel", "columns": [ "pr_type", "pr_level" ], "unique": false },
{ "name": "pr_level", "columns": [ "pr_level" ], "unique": false },
{ "name": "pr_cascade", "columns": [ "pr_cascade" ], "unique": false }
],
"pk": [ "pr_id" ]
},
"after": {
"name": "page_restrictions",
"comment": "Used for storing page restrictions (i.e. protection levels)",
"columns": [
{
"name": "pr_id",
"comment": "Field for an ID for this restrictions row (sort-key for Special:ProtectedPages)",
"type": "integer",
"options": { "unsigned": true, "notnull": true, "autoincrement": true }
},
{
"name": "pr_page",
"comment": "Page to apply restrictions to (Foreign Key to page).",
"type": "integer",
"options": { "notnull": true, "unsigned": true }
},
{
"name": "pr_type",
"comment": "The protection type (edit, move, etc)",
"type": "binary",
"options": { "length": 60, "notnull": true }
},
{
"name": "pr_level",
"comment": "The protection level (Sysop, autoconfirmed, etc)",
"type": "binary",
"options": { "length": 60, "notnull": true }
},
{
"name": "pr_cascade",
"type": "mwtinyint",
"options": { "notnull": true }
},
{
"name": "pr_expiry",
"comment": "Field for time-limited protection.",
"type": "mwtimestamp",
"options": {
"notnull": false,
"CustomSchemaOptions": {
"allowInfinite": true
}
}
}
],
"indexes": [
{ "name": "pr_pagetype", "columns": [ "pr_page", "pr_type" ], "unique": true },
{ "name": "pr_typelevel", "columns": [ "pr_type", "pr_level" ], "unique": false },
{ "name": "pr_level", "columns": [ "pr_level" ], "unique": false },
{ "name": "pr_cascade", "columns": [ "pr_cascade" ], "unique": false }
],
"pk": [ "pr_id" ]
}
}