Files
KeySelector/db/schema.sql
T

21 lines
579 B
SQL

-- Schema for KeySelector and AcousticBrainz data
CREATE TABLE IF NOT EXISTS tracks (
id SERIAL PRIMARY KEY,
mbid VARCHAR(36) UNIQUE NOT NULL, -- MusicBrainz ID
title VARCHAR(255),
artist VARCHAR(255),
camelot_key VARCHAR(3),
bpm INTEGER,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS track_tags (
track_id INTEGER REFERENCES tracks(id),
tag VARCHAR(100),
PRIMARY KEY (track_id, tag)
);
CREATE INDEX IF NOT EXISTS idx_camelot_key ON tracks(camelot_key);
CREATE INDEX IF NOT EXISTS idx_bpm ON tracks(bpm);