lurker.vibe/db/migrations/20220924132648_initial-commit.sql
2022-09-24 15:38:32 +02:00

40 lines
1.1 KiB
SQL

-- migrate:up
CREATE OR REPLACE TABLE spotify_albums (
album_id BIGINT UNSIGNED auto_increment NOT NULL,
artist varchar(100) NULL,
name varchar(100) NULL,
cover_url varchar(100) NULL,
CONSTRAINT spotify_albums_PK PRIMARY KEY (album_id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;
CREATE TABLE spotify_tracks (
track_id varchar(100) NOT NULL,
album_id BIGINT UNSIGNED NOT NULL,
title varchar(100) NULL,
duration INT NULL,
CONSTRAINT spotify_tracks_PK PRIMARY KEY (track_id),
CONSTRAINT spotify_tracks_FK FOREIGN KEY (album_id) REFERENCES spotify_albums(album_id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;
CREATE TABLE spotify_plays (
user_id BIGINT UNSIGNED NOT NULL,
track_id varchar(100) NOT NULL,
created_at TIMESTAMP NOT NULL,
CONSTRAINT spotify_plays_PK PRIMARY KEY (user_id,created_at),
CONSTRAINT spotify_plays_FK FOREIGN KEY (track_id) REFERENCES spotify_tracks(track_id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_general_ci;
-- migrate:down
DROP TABLE spotify_plays;
DROP TABLE spotify_tracks;
DROP TABLE spotify_albums;