Trac Database Schema: Notification
The TracNotification module stores notification event subscriptions in the database.
Table notify_subscription
Table description:
| Table | Key |
| notify_subscription | id |
Column description:
| Columns | Type | Notes |
| id | auto_increment | |
| time | int64 | |
| changetime | int64 | |
| class | The name of the Python class that stored this subscription. | |
| sid | The session ID of the subscriber. | |
| authenticated | int | 1 for authenticated session IDs, 0 for anonymous session IDs
|
| distributor | Identifies the distributor to used for this subscription, eg email
| |
| format | Identifies the MIME type to be used for this subscription, eg text/plain or text/html
| |
| priority | int | Precedence level of this subscription, eg 1 overrules 2.
|
| adverb | always or never
|
Index description:
| Indices |
| sid, authenticated |
| class |
This table stores whether a subscription rule always/never applies for a certain user, at what priority and using what distribution method/format.
Use the trac.notification.model.Subscription model class to access this table.
Note that this table does not store an (email) address, but the commonly used subscription tuple has an additional item addr. Usually such tuples that correspond to entries in this DB table contain a addr of None. Other tuples may contain an (email) address (e.g. retrieved from a ticket CC field) but are missing the sid item instead.
See trac.notification.model.Subscription
Table notify_watch
Table description:
| Table | Key |
| notify_watch | id |
Column description:
| Columns | Type | Notes |
| id | auto_increment | |
| sid | The session ID of the subscriber. | |
| authenticated | int | 1 for authenticated session IDs, 0 for anonymous session IDs
|
| class | The name of the Python class that stored this watch. | |
| realm | The realm of this subscription (e.g. ticket).
| |
| target | The target of this subscription (e.g. a ticket id). |
Index description:
| Indices |
| sid, authenticated, class |
| class, realm, target |
This table stores watches to identify the target resource(s) of a subscription. For example, a watched ticket's id, wiki page filters, joined groups, etc.
Use the trac.notification.model.Watch model class to access this table.


