first comm
This commit is contained in:
27
migrations/20240101000001_init_schema.sql
Normal file
27
migrations/20240101000001_init_schema.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
-- Users table
|
||||
CREATE TABLE users (
|
||||
id TEXT PRIMARY KEY,
|
||||
email TEXT UNIQUE NOT NULL,
|
||||
password_hash TEXT NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at DATETIME
|
||||
);
|
||||
|
||||
-- Posts table
|
||||
CREATE TABLE posts (
|
||||
id TEXT PRIMARY KEY,
|
||||
title TEXT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
author_id TEXT NOT NULL REFERENCES users(id),
|
||||
published BOOLEAN DEFAULT FALSE,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at DATETIME
|
||||
);
|
||||
|
||||
-- Indexes for performance
|
||||
CREATE INDEX idx_posts_deleted_at ON posts(deleted_at);
|
||||
CREATE INDEX idx_posts_published ON posts(published) WHERE deleted_at IS NULL;
|
||||
CREATE INDEX idx_posts_author ON posts(author_id) WHERE deleted_at IS NULL;
|
||||
CREATE INDEX idx_users_email ON users(email) WHERE deleted_at IS NULL;
|
||||
Reference in New Issue
Block a user