gejdr-rs/gejdr-core/migrations/20250125193213_macro-test-tables.up.sql

27 lines
708 B
MySQL
Raw Normal View History

CREATE SCHEMA IF NOT EXISTS tests;
CREATE TABLE tests.authors (
author_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
CREATE TABLE tests.books (
id SERIAL PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author_id INT NOT NULL,
FOREIGN KEY (author_id) REFERENCES tests.authors(author_id) ON DELETE CASCADE
);
CREATE TABLE tests.genres (
genre_id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
CREATE TABLE tests.book_genres (
book_id INT NOT NULL,
genre_id INT NOT NULL,
PRIMARY KEY (book_id, genre_id),
FOREIGN KEY (book_id) REFERENCES tests.books(id) ON DELETE CASCADE,
FOREIGN KEY (genre_id) REFERENCES tests.genres(genre_id) ON DELETE CASCADE
);