update schema.sql: use psql schemas
This commit is contained in:
parent
35e862f4be
commit
cdcc7466e5
36
schema.sql
36
schema.sql
|
@ -1,18 +1,20 @@
|
||||||
|
CREATE SCHEMA arimelody AUTHORIZATION arimelody;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Artists (should be applicable to all art)
|
-- Artists (should be applicable to all art)
|
||||||
--
|
--
|
||||||
CREATE TABLE artist (
|
CREATE TABLE arimelody.artist (
|
||||||
id character varying(64),
|
id character varying(64),
|
||||||
name text NOT NULL,
|
name text NOT NULL,
|
||||||
website text,
|
website text,
|
||||||
avatar text
|
avatar text
|
||||||
);
|
);
|
||||||
ALTER TABLE artist ADD CONSTRAINT artist_pk PRIMARY KEY (id);
|
ALTER TABLE arimelody.artist ADD CONSTRAINT artist_pk PRIMARY KEY (id);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Music releases
|
-- Music releases
|
||||||
--
|
--
|
||||||
CREATE TABLE musicrelease (
|
CREATE TABLE arimelody.musicrelease (
|
||||||
id character varying(64) NOT NULL,
|
id character varying(64) NOT NULL,
|
||||||
visible bool DEFAULT false,
|
visible bool DEFAULT false,
|
||||||
title text NOT NULL,
|
title text NOT NULL,
|
||||||
|
@ -25,56 +27,56 @@ CREATE TABLE musicrelease (
|
||||||
copyright text,
|
copyright text,
|
||||||
copyrightURL text
|
copyrightURL text
|
||||||
);
|
);
|
||||||
ALTER TABLE musicrelease ADD CONSTRAINT musicrelease_pk PRIMARY KEY (id);
|
ALTER TABLE arimelody.musicrelease ADD CONSTRAINT musicrelease_pk PRIMARY KEY (id);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Music links (external platform links under a release)
|
-- Music links (external platform links under a release)
|
||||||
--
|
--
|
||||||
CREATE TABLE musiclink (
|
CREATE TABLE arimelody.musiclink (
|
||||||
release character varying(64) NOT NULL,
|
release character varying(64) NOT NULL,
|
||||||
name text NOT NULL,
|
name text NOT NULL,
|
||||||
url text NOT NULL
|
url text NOT NULL
|
||||||
);
|
);
|
||||||
ALTER TABLE musiclink ADD CONSTRAINT musiclink_pk PRIMARY KEY (release, name);
|
ALTER TABLE arimelody.musiclink ADD CONSTRAINT musiclink_pk PRIMARY KEY (release, name);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Music credits (artist credits under a release)
|
-- Music credits (artist credits under a release)
|
||||||
--
|
--
|
||||||
CREATE TABLE musiccredit (
|
CREATE TABLE arimelody.musiccredit (
|
||||||
release character varying(64) NOT NULL,
|
release character varying(64) NOT NULL,
|
||||||
artist character varying(64) NOT NULL,
|
artist character varying(64) NOT NULL,
|
||||||
role text NOT NULL,
|
role text NOT NULL,
|
||||||
is_primary boolean DEFAULT false
|
is_primary boolean DEFAULT false
|
||||||
);
|
);
|
||||||
ALTER TABLE musiccredit ADD CONSTRAINT musiccredit_pk PRIMARY KEY (release, artist);
|
ALTER TABLE arimelody.musiccredit ADD CONSTRAINT musiccredit_pk PRIMARY KEY (release, artist);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Music tracks (tracks under a release)
|
-- Music tracks (tracks under a release)
|
||||||
--
|
--
|
||||||
CREATE TABLE musictrack (
|
CREATE TABLE arimelody.musictrack (
|
||||||
id uuid DEFAULT gen_random_uuid(),
|
id uuid DEFAULT gen_random_uuid(),
|
||||||
title text NOT NULL,
|
title text NOT NULL,
|
||||||
description text,
|
description text,
|
||||||
lyrics text,
|
lyrics text,
|
||||||
preview_url text
|
preview_url text
|
||||||
);
|
);
|
||||||
ALTER TABLE musictrack ADD CONSTRAINT musictrack_pk PRIMARY KEY (id);
|
ALTER TABLE arimelody.musictrack ADD CONSTRAINT musictrack_pk PRIMARY KEY (id);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Music release/track pairs
|
-- Music release/track pairs
|
||||||
--
|
--
|
||||||
CREATE TABLE musicreleasetrack (
|
CREATE TABLE arimelody.musicreleasetrack (
|
||||||
release character varying(64) NOT NULL,
|
release character varying(64) NOT NULL,
|
||||||
track uuid NOT NULL,
|
track uuid NOT NULL,
|
||||||
number integer NOT NULL
|
number integer NOT NULL
|
||||||
);
|
);
|
||||||
ALTER TABLE musicreleasetrack ADD CONSTRAINT musicreleasetrack_pk PRIMARY KEY (release, track);
|
ALTER TABLE arimelody.musicreleasetrack ADD CONSTRAINT musicreleasetrack_pk PRIMARY KEY (release, track);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Foreign keys
|
-- Foreign keys
|
||||||
--
|
--
|
||||||
ALTER TABLE musiccredit ADD CONSTRAINT musiccredit_artist_fk FOREIGN KEY (artist) REFERENCES artist(id) ON DELETE CASCADE ON UPDATE CASCADE;
|
ALTER TABLE arimelody.musiccredit ADD CONSTRAINT musiccredit_artist_fk FOREIGN KEY (artist) REFERENCES artist(id) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
ALTER TABLE musiccredit ADD CONSTRAINT musiccredit_release_fk FOREIGN KEY (release) REFERENCES musicrelease(id) ON DELETE CASCADE;
|
ALTER TABLE arimelody.musiccredit ADD CONSTRAINT musiccredit_release_fk FOREIGN KEY (release) REFERENCES musicrelease(id) ON DELETE CASCADE;
|
||||||
ALTER TABLE musiclink ADD CONSTRAINT musiclink_release_fk FOREIGN KEY (release) REFERENCES musicrelease(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
ALTER TABLE arimelody.musiclink ADD CONSTRAINT musiclink_release_fk FOREIGN KEY (release) REFERENCES musicrelease(id) ON UPDATE CASCADE ON DELETE CASCADE;
|
||||||
ALTER TABLE musicreleasetrack ADD CONSTRAINT music_pair_trackref_fk FOREIGN KEY (release) REFERENCES musicrelease(id) ON DELETE CASCADE;
|
ALTER TABLE arimelody.musicreleasetrack ADD CONSTRAINT music_pair_trackref_fk FOREIGN KEY (release) REFERENCES musicrelease(id) ON DELETE CASCADE;
|
||||||
ALTER TABLE musicreleasetrack ADD CONSTRAINT music_pair_releaseref_fk FOREIGN KEY (track) REFERENCES musictrack(id) ON DELETE CASCADE;
|
ALTER TABLE arimelody.musicreleasetrack ADD CONSTRAINT music_pair_releaseref_fk FOREIGN KEY (track) REFERENCES musictrack(id) ON DELETE CASCADE;
|
||||||
|
|
Loading…
Reference in a new issue