Changeset 23cd88b for scripts/ddl.sql


Ignore:
Timestamp:
08/05/26 10:46:23 (22 hours ago)
Author:
Filip Gavrilovski <filipgavrilovski28@…>
Branches:
main
Children:
c7f743d
Parents:
947fcaa
Message:

update ddl and dml scripts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • scripts/ddl.sql

    r947fcaa r23cd88b  
    2929    full_name TEXT NOT NULL,
    3030    email TEXT NOT NULL,
    31     password TEXT NOT NULL,
     31    password_hash TEXT NOT NULL,
    3232    username TEXT NOT NULL,
    3333    profile_photo TEXT
     
    8585    name   TEXT NOT NULL,
    8686    created_by BIGINT REFERENCES LISTENERS(user_id) ON DELETE CASCADE
     87);
     88
     89CREATE TABLE CONTRIBUTIONS (
     90    musical_entity_id BIGINT NOT NULL REFERENCES MUSICAL_ENTITIES(id) ON DELETE CASCADE,
     91    artist_id BIGINT NOT NULL REFERENCES ARTISTS(user_id) ON DELETE CASCADE,
     92    contribution_order INT NOT NULL,
     93 
     94    CONSTRAINT contributions_pk
     95        PRIMARY KEY (musical_entity_id, artist_id),
     96 
     97    CONSTRAINT contributions_order_positive
     98        CHECK (contribution_order > 0),
     99);
     100
     101CREATE TABLE ROLES (
     102    role_id BIGINT PRIMARY KEY,
     103    name TEXT NOT NULL,
     104 
     105    CONSTRAINT roles_name_unique UNIQUE (name)
    87106);
    88107
     
    152171);
    153172
    154 CREATE TABLE ARTIST_CONTRIBUTIONS (
    155     artist_id BIGINT REFERENCES ARTISTS(user_id) ON DELETE CASCADE,
    156     musical_entity_id BIGINT REFERENCES MUSICAL_ENTITIES(id) ON DELETE CASCADE,
    157     role TEXT NOT NULL,
    158 
    159     CONSTRAINT artist_contribution_id
    160         PRIMARY KEY (artist_id, musical_entity_id)
     173CREATE TABLE CONTRIBUTION_ROLES (
     174    musical_entity_id BIGINT NOT NULL,
     175    artist_id BIGINT NOT NULL,
     176    role_id BIGINT NOT NULL REFERENCES ROLES(role_id),
     177 
     178    CONSTRAINT contribution_roles_pk
     179        PRIMARY KEY (musical_entity_id, artist_id, role_id),
     180 
     181    CONSTRAINT contribution_roles_contribution_fk
     182        FOREIGN KEY (musical_entity_id, artist_id)
     183        REFERENCES CONTRIBUTIONS(musical_entity_id, artist_id)
     184        ON DELETE CASCADE
    161185);
Note: See TracChangeset for help on using the changeset viewer.