mediawiki-extensions-Discus.../sql/discussiontools_subscription.json
Bartosz Dziewoński bcd92a5d33 Minor cleanups in topic subscription code
For automatic topic subscriptions, I plan to introduce a third
subscription state to indicate them. This patch includes minor tweaks
I wanted to add while working on that:

* Introduce constants instead of numbers
* Remove a TODO that doesn't seem like a good idea any more
* Remove a `"length": 1` on sub_state that did not do anything
  (but it might have been meant to indicate that it was supposed
  to be a boolean, which would be wrong)

Bug: T284836
Change-Id: I6e6096968ad38510102287bccd349090b6ca4280
2021-08-17 22:22:15 +02:00

109 lines
2.3 KiB
JSON

[
{
"name": "discussiontools_subscription",
"columns": [
{
"name": "sub_id",
"type": "integer",
"options": {
"autoincrement": true,
"unsigned": true,
"notnull": true
}
},
{
"name": "sub_item",
"comment": "Internal name used to identify this item across all pages and revisions where it might appear, see CommentParser::computeName()",
"type": "binary",
"options": {
"notnull": true,
"length": 255
}
},
{
"name": "sub_namespace",
"comment": "Namespace of the page where this item appeared when the user subscribed to it",
"type": "integer",
"options": {
"notnull": true,
"default": 0
}
},
{
"name": "sub_title",
"comment": "Title of the page where this item appeared when the user subscribed to it",
"type": "binary",
"options": {
"notnull": true,
"length": 255
}
},
{
"name": "sub_section",
"comment": "Section of the page where this item appeared when the user subscribed to it",
"type": "binary",
"options": {
"notnull": true,
"length": 255
}
},
{
"name": "sub_state",
"comment": "0: unsubscribed; 1: subscribed",
"type": "integer",
"options": {
"notnull": true,
"default": 1
}
},
{
"name": "sub_user",
"comment": "User who is subscribed, key to user.user_id",
"type": "integer",
"options": {
"unsigned": true,
"notnull": true
}
},
{
"name": "sub_created",
"comment": "Time when this subscription was created",
"type": "mwtimestamp",
"options": {
"notnull": true
}
},
{
"name": "sub_notified",
"comment": "Time when a notification about the item was last sent",
"type": "mwtimestamp",
"options": {
"notnull": false
}
}
],
"indexes": [
{
"name": "discussiontools_subscription_itemuser",
"comment": "Index for finding all users subscribed to an item, or a specific subscription",
"columns": [
"sub_item",
"sub_user"
],
"unique": true
},
{
"name": "discussiontools_subscription_user",
"comment": "Index for finding all subscriptions of the user",
"columns": [
"sub_user"
],
"unique": false
}
],
"pk": [
"sub_id"
]
}
]