aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-16 03:49:51 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-16 03:49:51 +0800
commit3431b5f602f86f9feda5af6e4d0144a5e051ec35 (patch)
treebfef1efd4eac2788124c612d8985301c6257c875
parentssh_server.go: Strip trailing newlines from keys (diff)
downloadforge-3431b5f602f86f9feda5af6e4d0144a5e051ec35.tar.gz
forge-3431b5f602f86f9feda5af6e4d0144a5e051ec35.tar.zst
forge-3431b5f602f86f9feda5af6e4d0144a5e051ec35.zip
schema.sql: Don't use key_string UNIQUE
It creates a btree index, so very long keys won't work.
-rw-r--r--schema.sql6
1 files changed, 4 insertions, 2 deletions
diff --git a/schema.sql b/schema.sql
index 9dc83c7..1797466 100644
--- a/schema.sql
+++ b/schema.sql
@@ -52,8 +52,10 @@ CREATE TABLE users (
);
CREATE TABLE ssh_public_keys (
- key_string TEXT PRIMARY KEY NOT NULL,
- user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE
+ id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
+ key_string TEXT NOT NULL,
+ user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+ CONSTRAINT unique_key_string EXCLUDE USING HASH (key_string WITH =)
);
CREATE TABLE sessions (