aboutsummaryrefslogtreecommitdiffstats
path: root/sql/abstractSchemaChanges/patch-externallinks-drop-el_to.json
blob: cfbc07e27e45976a0b84b982f4315c535dc5a2ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
	"comment": "Drop old columns of externallinks (T312666)",
	"before": {
		"name": "externallinks",
		"comment": "Track links to external URLs",
		"columns": [
			{
				"name": "el_id",
				"type": "integer",
				"options": { "unsigned": true, "notnull": true, "autoincrement": true }
			},
			{
				"name": "el_from",
				"type": "integer",
				"comment": "page_id of the referring page",
				"options": { "unsigned": true, "notnull": true, "default": 0 }
			},
			{
				"name": "el_to",
				"type": "blob",
				"comment": "The external link",
				"options": { "length": 65530, "notnull": false, "default": "" }
			},
			{
				"name": "el_index",
				"type": "blob",
				"comment": "In the case of HTTP URLs, this is the URL with any username or password removed, and with the labels in the hostname reversed and converted to lower case which will allow faster searching for all pages with WHERE clause. Note: If PHP's intl extension is enabled/disabled, maintenance/refreshExternallinksIndex.php needs to be run to refresh this field",
				"options": { "length": 65530, "notnull": false, "default": "" }
			},
			{
				"name": "el_index_60",
				"type": "binary",
				"comment": "'el_index' truncated to 60 bytes to allow for sortable queries that aren't supported by a partial index",
				"options": { "notnull": true, "length": 60, "default": "" }
			},
			{
				"name": "el_to_domain_index",
				"type": "binary",
				"comment": "Indexable domain",
				"options": { "notnull": true, "length": 255, "default": "" }
			},
			{
				"name": "el_to_path",
				"type": "blob",
				"comment": "Path to the external link without considering the domain",
				"options": { "length": 65530, "notnull": false }
			}
		],
		"indexes": [
			{ "name": "el_from", "columns": [ "el_from" ], "unique": false },
			{ "name": "el_to", "columns": [ "el_to", "el_from" ], "unique": false, "options": { "lengths": [ 60, null ] } },
			{ "name": "el_index", "columns": [ "el_index" ], "unique": false, "options": { "lengths": [ 60 ] } },
			{ "name": "el_index_60", "columns": [ "el_index_60", "el_id" ], "unique": false },
			{ "name": "el_from_index_60", "columns": [ "el_from", "el_index_60", "el_id" ], "unique": false },
			{ "name": "el_to_domain_index_to_path", "columns": [ "el_to_domain_index", "el_to_path" ], "unique": false, "options": { "lengths": [ null, 60 ] } }
		],
		"pk": [ "el_id" ]
	},
	"after": {
		"name": "externallinks",
		"comment": "Track links to external URLs",
		"columns": [
			{
				"name": "el_id",
				"type": "integer",
				"options": { "unsigned": true, "notnull": true, "autoincrement": true }
			},
			{
				"name": "el_from",
				"type": "integer",
				"comment": "page_id of the referring page",
				"options": { "unsigned": true, "notnull": true, "default": 0 }
			},
			{
				"name": "el_to_domain_index",
				"type": "binary",
				"comment": "Indexable domain",
				"options": { "notnull": true, "length": 255, "default": "" }
			},
			{
				"name": "el_to_path",
				"type": "blob",
				"comment": "Path to the external link without considering the domain",
				"options": { "length": 65530, "notnull": false }
			}
		],
		"indexes": [
			{ "name": "el_from", "columns": [ "el_from" ], "unique": false },
			{ "name": "el_to_domain_index_to_path", "columns": [ "el_to_domain_index", "el_to_path" ], "unique": false, "options": { "lengths": [ null, 60 ] } }
		],
		"pk": [ "el_id" ]
	}
}