mirror of
https://github.com/Phundrak/georm.git
synced 2025-12-13 00:21:51 +01:00
39 lines
949 B
MySQL
39 lines
949 B
MySQL
|
|
CREATE TABLE biographies (
|
||
|
|
id SERIAL PRIMARY KEY,
|
||
|
|
content TEXT NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE authors (
|
||
|
|
id SERIAL PRIMARY KEY,
|
||
|
|
name VARCHAR(100) NOT NULL,
|
||
|
|
biography_id INT,
|
||
|
|
FOREIGN KEY (biography_id) REFERENCES biographies(id)
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE books (
|
||
|
|
ident SERIAL PRIMARY KEY,
|
||
|
|
title VARCHAR(100) NOT NULL,
|
||
|
|
author_id INT NOT NULL,
|
||
|
|
FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE reviews (
|
||
|
|
id SERIAL PRIMARY KEY,
|
||
|
|
book_id INT NOT NULL,
|
||
|
|
review TEXT NOT NULL,
|
||
|
|
FOREIGN KEY (book_id) REFERENCES books(ident) ON DELETE CASCADE
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE genres (
|
||
|
|
id SERIAL PRIMARY KEY,
|
||
|
|
name VARCHAR(100) NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE book_genres (
|
||
|
|
book_id INT NOT NULL,
|
||
|
|
genre_id INT NOT NULL,
|
||
|
|
PRIMARY KEY (book_id, genre_id),
|
||
|
|
FOREIGN KEY (book_id) REFERENCES books(ident) ON DELETE CASCADE,
|
||
|
|
FOREIGN KEY (genre_id) REFERENCES genres(id) ON DELETE CASCADE
|
||
|
|
);
|