Renamed module service->core.
This commit is contained in:
@ -0,0 +1,95 @@
|
||||
CREATE TABLE artists (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR UNIQUE NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX artists_name_idx ON artists(name);
|
||||
|
||||
CREATE TABLE albums (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR NOT NULL,
|
||||
year INTEGER,
|
||||
track_total INTEGER
|
||||
);
|
||||
|
||||
CREATE INDEX albums_name_idx ON albums(name);
|
||||
|
||||
CREATE TABLE media_files (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR NOT NULL,
|
||||
track_number INTEGER,
|
||||
play_count INTEGER NOT NULL DEFAULT 0,
|
||||
file_path VARCHAR NOT NULL,
|
||||
file_hash VARCHAR NOT NULL,
|
||||
meta_info_source VARCHAR NOT NULL, -- 'tag' or 'filesystem'
|
||||
comment VARCHAR DEFAULT ''
|
||||
);
|
||||
|
||||
CREATE INDEX media_files_name_idx ON media_files(name);
|
||||
|
||||
CREATE TABLE artists_media_files (
|
||||
artist_id INTEGER NOT NULL REFERENCES artists(id) ON DELETE CASCADE,
|
||||
media_file_id INTEGER NOT NULL REFERENCES media_files(id) ON DELETE CASCADE,
|
||||
PRIMARY KEY (artist_id, media_file_id)
|
||||
);
|
||||
|
||||
CREATE TABLE albums_media_files (
|
||||
album_id INTEGER NOT NULL REFERENCES albums(id) ON DELETE CASCADE,
|
||||
media_file_id INTEGER NOT NULL REFERENCES media_files(id) ON DELETE CASCADE,
|
||||
PRIMARY KEY (album_id, media_file_id)
|
||||
);
|
||||
|
||||
CREATE TABLE tags (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR UNIQUE NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE playlists (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR NOT NULL,
|
||||
mod_count INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE TABLE playlists_media_files (
|
||||
playlist_id INTEGER NOT NULL REFERENCES playlists(id) ON DELETE CASCADE,
|
||||
media_file_id INTEGER NOT NULL REFERENCES media_files(id) ON DELETE CASCADE,
|
||||
position INTEGER NOT NULL DEFAULT 0,
|
||||
UNIQUE (playlist_id, media_file_id)
|
||||
);
|
||||
|
||||
CREATE TABLE bookmarks (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR,
|
||||
playlist_id INTEGER NOT NULL REFERENCES playlists(id) ON DELETE CASCADE,
|
||||
media_file_id INTEGER NOT NULL REFERENCES media_files(id) ON DELETE CASCADE,
|
||||
play_index INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE media_files_tags (
|
||||
id SERIAL PRIMARY KEY,
|
||||
media_file_id INTEGER REFERENCES media_files(id) ON DELETE CASCADE,
|
||||
tag_id INTEGER REFERENCES tags(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE images (
|
||||
id SERIAL PRIMARY KEY,
|
||||
url VARCHAR
|
||||
);
|
||||
|
||||
CREATE TABLE artists_images (
|
||||
artist_id INTEGER REFERENCES artists (id) ON DELETE CASCADE,
|
||||
image_id INTEGER REFERENCES images (id) ON DELETE CASCADE,
|
||||
PRIMARY KEY (artist_id, image_id)
|
||||
);
|
||||
|
||||
CREATE TABLE albums_images (
|
||||
album_id INTEGER REFERENCES albums (id) ON DELETE CASCADE,
|
||||
image_id INTEGER REFERENCES images (id) ON DELETE CASCADE,
|
||||
PRIMARY KEY (album_id, image_id)
|
||||
);
|
||||
|
||||
CREATE TABLE artists_albums (
|
||||
artist_id INTEGER NOT NULL REFERENCES artists (id) ON DELETE CASCADE,
|
||||
album_id INTEGER NOT NULL REFERENCES albums (id) ON DELETE CASCADE,
|
||||
PRIMARY KEY (artist_id, album_id)
|
||||
);
|
Reference in New Issue
Block a user