feat: add basic blog features
This commit is contained in:
9
db/migrations/2026-02-22_18:00_create_blog_tables.sql
Normal file
9
db/migrations/2026-02-22_18:00_create_blog_tables.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
CREATE XTENSION IF NOT EXISTS "uuid-ossp";
|
||||
|
||||
CREATE TABLE posts (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
title VARCHAR(255) NULL UNIQUE,
|
||||
content TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
29
db/migrations/2026-03-04_15:23_create_user_tables.sql
Normal file
29
db/migrations/2026-03-04_15:23_create_user_tables.sql
Normal file
@@ -0,0 +1,29 @@
|
||||
CREATE TABLE users (
|
||||
id TEXT PRIMARY KEY NOT NULL UNIQUE,
|
||||
username VARCHAR(255)
|
||||
);
|
||||
|
||||
CREATE TABLE passkeys (
|
||||
id TEXT PRIMARY KEY NOT NULL UNIQUE,
|
||||
public_key BYTEA,
|
||||
webauthn_user__id TEXT UNIQUE,
|
||||
counter BIGINT,
|
||||
device_type VARCHAR(32),
|
||||
transports VARCHAR(255)
|
||||
);
|
||||
|
||||
-- User/passkey junction table
|
||||
CREATE TABLE user_passkeys (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
user_id TEXT NOT NULL,
|
||||
passkey_id TEXT NOT NULL,
|
||||
|
||||
-- Foreign key constraints
|
||||
CONSTRAINT fk_user_passkeys_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||||
CONSTRAINT fk_user_passkeys_passkeys FOREIGN KEY (passkey_id) REFERENCES passkeys(id) ON DELETE CASCADE,
|
||||
|
||||
-- Prevent duplicates
|
||||
CONSTRAINT unique_user_passkeys UNIQUE (user_id, passkey_id)
|
||||
);
|
||||
|
||||
CREATE INDEX index_passkeys ON passkeys (id, webauthn_user__id);
|
||||
Reference in New Issue
Block a user