Add DB migrations and run them on startup

Enable sqlx "migrate" feature and add SQL migrations to create the
database schema: pg_trgm extension, sources, genres, authors, sequences,
books, junction tables, annotations, and supporting indexes
This commit is contained in:
2026-01-16 10:28:05 +01:00
parent 9ef8a42fd4
commit c60aa8685b
14 changed files with 151 additions and 3 deletions

View File

@@ -0,0 +1,14 @@
-- Create book_sequences junction table
CREATE TABLE IF NOT EXISTS book_sequences (
id SERIAL PRIMARY KEY,
position SMALLINT NOT NULL,
sequence INTEGER NOT NULL,
book INTEGER NOT NULL,
CONSTRAINT uc_book_sequences_book_sequence UNIQUE (book, sequence),
CONSTRAINT fk_book_sequences_sequences_sequence_id FOREIGN KEY (sequence) REFERENCES sequences(id) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT fk_book_sequences_books_book_id FOREIGN KEY (book) REFERENCES books(id) ON UPDATE CASCADE ON DELETE CASCADE
);
-- Create indexes for book_sequences
CREATE INDEX IF NOT EXISTS book_sequences_sequence ON book_sequences (sequence);
CREATE INDEX IF NOT EXISTS book_sequences_book ON book_sequences (book);