35
35
36
36
CREATE TABLE accounts
37
37
(
38
- id UUID PRIMARY KEY ,
39
- display_name TEXT ,
40
- note TEXT ,
38
+ id UUID PRIMARY KEY ,
39
+ display_name TEXT ,
40
+ note TEXT ,
41
41
42
42
-- Use special collation to ignore case and accent differences
43
- username TEXT NOT NULL COLLATE kitsune .ignore_accent_case ,
44
- locked BOOLEAN NOT NULL ,
45
- local BOOLEAN NOT NULL ,
46
- domain TEXT NOT NULL ,
47
- account_type INTEGER NOT NULL ,
48
- url TEXT UNIQUE NOT NULL ,
49
-
50
- public_key_id TEXT NOT NULL UNIQUE,
51
- public_key TEXT NOT NULL ,
43
+ username TEXT NOT NULL COLLATE kitsune .ignore_accent_case ,
44
+ locked BOOLEAN NOT NULL ,
45
+ local BOOLEAN NOT NULL ,
46
+ domain TEXT NOT NULL ,
47
+ account_type INTEGER NOT NULL ,
48
+ url TEXT UNIQUE NOT NULL ,
52
49
53
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
54
- updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
50
+ created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
51
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
55
52
56
53
-- Generated full-text search column
57
- account_ts TSVECTOR GENERATED ALWAYS AS (
58
- setweight(to_tsvector(' simple' , COALESCE(display_name, ' ' )) ||
59
- to_tsvector(' simple' , username), ' A' ) ||
60
- setweight(to_tsvector(' simple' , COALESCE(note, ' ' )), ' B' )) STORED NOT NULL
54
+ account_ts TSVECTOR GENERATED ALWAYS AS (
55
+ setweight(to_tsvector(' simple' , COALESCE(display_name, ' ' )) ||
56
+ to_tsvector(' simple' , username), ' A' ) ||
57
+ setweight(to_tsvector(' simple' , COALESCE(note, ' ' )), ' B' )) STORED NOT NULL
61
58
);
62
59
63
60
-- Unique constraints
@@ -69,9 +66,10 @@ CREATE INDEX "idx-accounts-account_ts" ON accounts USING GIN (account_ts);
69
66
70
67
CREATE TABLE cryptographic_keys
71
68
(
72
- key_id TEXT PRIMARY KEY ,
73
- key_pem TEXT NOT NULL ,
74
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
69
+ key_id TEXT PRIMARY KEY ,
70
+ public_key_pem TEXT NOT NULL ,
71
+ private_key_pem TEXT ,
72
+ created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
75
73
);
76
74
77
75
CREATE TABLE accounts_cryptographic_keys
@@ -171,7 +169,6 @@ CREATE TABLE users
171
169
email TEXT NOT NULL UNIQUE,
172
170
password TEXT UNIQUE,
173
171
domain TEXT NOT NULL ,
174
- private_key TEXT NOT NULL ,
175
172
176
173
-- Email confirmation
177
174
confirmed_at TIMESTAMPTZ ,
0 commit comments