redeem proffered tickets, db schema 1.1.0
[squeep-indie-auther] / src / db / sqlite / sql / schema / 1.1.0 / apply.sql
1 BEGIN;
2
3 CREATE TABLE redeemed_ticket (
4 ticket_id INTEGER NOT NULL PRIMARY KEY CHECK (typeof(ticket_id) = 'integer'),
5 created INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) CHECK (typeof(created) = 'integer'),
6 subject TEXT NOT NULL CHECK (typeof(subject) = 'text'),
7 resource TEXT NOT NULL CHECK (typeof(resource) = 'text'),
8 iss TEXT CHECK (typeof(iss) = 'text'),
9 token TEXT NOT NULL CHECK (typeof(token) = 'text'),
10 ticket TEXT NOT NULL CHECK (typeof(ticket) = 'text'),
11 published INTEGER CHECK (typeof(published) IN ('integer', 'null'))
12 );
13 CREATE INDEX redeemed_ticket_created_idx ON redeemed_ticket(created);
14 CREATE INDEX redeemed_ticket_published_idx ON redeemed_ticket(published) WHERE published IS NOT NULL;
15 CREATE INDEX redeemed_ticket_ref_idx ON redeemed_ticket(subject, resource, iss, ticket);
16
17 -- Update schema version
18 INSERT INTO _meta_schema_version (major, minor, patch) VALUES (1, 1, 0);
19
20 COMMIT;