Files
book_library_server/migrations/20260116092208_create_book_authors_table.sql
Bulat Kurbanov c60aa8685b 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
2026-01-16 10:28:05 +01:00

14 lines
661 B
SQL

-- Create book_authors junction table
CREATE TABLE IF NOT EXISTS book_authors (
id SERIAL PRIMARY KEY,
author INTEGER NOT NULL,
book INTEGER NOT NULL,
CONSTRAINT uc_book_authors_book_author UNIQUE (book, author),
CONSTRAINT fk_book_authors_authors_author_id FOREIGN KEY (author) REFERENCES authors(id) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT fk_book_authors_books_book_id FOREIGN KEY (book) REFERENCES books(id) ON UPDATE CASCADE ON DELETE CASCADE
);
-- Create indexes for book_authors
CREATE INDEX IF NOT EXISTS book_authors_author ON book_authors (author);
CREATE INDEX IF NOT EXISTS book_authors_book ON book_authors (book);