Files
pingu-concerts/db/migrations/13_follows_and_diary.sql

26 lines
1.0 KiB
SQL

CREATE TABLE IF NOT EXISTS followed_bands (
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
band_key VARCHAR(255) NOT NULL,
display_name VARCHAR(255) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id, band_key)
);
CREATE TABLE IF NOT EXISTS followed_venues (
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
venue_id INTEGER NOT NULL REFERENCES venues(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id, venue_id)
);
CREATE TABLE IF NOT EXISTS concert_diary (
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
concert_id INTEGER NOT NULL REFERENCES concerts(id) ON DELETE CASCADE,
rating SMALLINT NOT NULL CHECK (rating BETWEEN 1 AND 5),
favorite_song VARCHAR(255),
notes TEXT,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id, concert_id)
);