···47 name text not null,
48 knot text not null,
49 rkey text not null,
050 created text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
51 unique(did, name, knot, rkey)
52 );
···59 create table if not exists follows (
60 user_did text not null,
61 subject_did text not null,
062 rkey text not null,
63 followed_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
64 primary key (user_did, subject_did),
65 check (user_did <> subject_did)
66 );
000000000000000000000067 create table if not exists _jetstream (
68 id integer primary key autoincrement,
69 last_time_us integer not null
70 );
00000071 `)
72 if err != nil {
73 return nil, err
···47 name text not null,
48 knot text not null,
49 rkey text not null,
50+ at_uri text not null unique,
51 created text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
52 unique(did, name, knot, rkey)
53 );
···60 create table if not exists follows (
61 user_did text not null,
62 subject_did text not null,
63+ at_uri text not null unique,
64 rkey text not null,
65 followed_at text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
66 primary key (user_did, subject_did),
67 check (user_did <> subject_did)
68 );
69+ create table if not exists issues (
70+ id integer primary key autoincrement,
71+ owner_did text not null,
72+ repo_at text not null,
73+ issue_id integer not null unique,
74+ title text not null,
75+ body text not null,
76+ created text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
77+ unique(repo_at, issue_id),
78+ foreign key (repo_at) references repos(at_uri) on delete cascade
79+ );
80+ create table if not exists comments (
81+ id integer primary key autoincrement,
82+ owner_did text not null,
83+ issue_id integer not null,
84+ repo_at text not null,
85+ comment_id integer not null,
86+ body text not null,
87+ created text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
88+ unique(issue_id, comment_id),
89+ foreign key (issue_id) references issues(issue_id) on delete cascade
90+ );
91 create table if not exists _jetstream (
92 id integer primary key autoincrement,
93 last_time_us integer not null
94 );
95+96+ create table if not exists repo_issue_seqs (
97+ repo_at text primary key,
98+ next_issue_id integer not null default 1
99+ );
100+101 `)
102 if err != nil {
103 return nil, err