Database basic CRUD (#27)
* started schema * db schemas beginning * first db schema gen * added sqlc generation with go generate and sqlite driver * i think these dependencies are needed * added IF NOT EXISTS to create and CRUD for each table * fixed missing columns * added missing field * fixed code generation with sqlc
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
CREATE TABLE IF NOT EXISTS artist_credit (
|
||||
id int PRIMARY KEY,
|
||||
text string NOT NULL
|
||||
);
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE IF NOT EXISTS artist_credit_artist (
|
||||
id int PRIMARY KEY,
|
||||
artist_id int NOT NULL,
|
||||
credit_id int NOT NULL,
|
||||
FOREIGN KEY(artist_id) REFERENCES artists(id),
|
||||
FOREIGN KEY(credit_id) REFERENCES artist_credit(id)
|
||||
);
|
||||
@@ -0,0 +1,4 @@
|
||||
CREATE TABLE IF NOT EXISTS artists (
|
||||
id int PRIMARY KEY,
|
||||
name text NOT NULL
|
||||
);
|
||||
@@ -0,0 +1,9 @@
|
||||
CREATE TABLE IF NOT EXISTS audio_files (
|
||||
id int PRIMARY KEY,
|
||||
file_path text NOT NULL UNIQUE,
|
||||
length_milliseconds int NOT NULL,
|
||||
file_type_id int NOT NULL,
|
||||
recording_id int NOT NULL,
|
||||
FOREIGN KEY(file_type_id) REFERENCES file_types(id),
|
||||
FOREIGN KEY(recording_id) REFERENCES recordings(id)
|
||||
);
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE IF NOT EXISTS cover_art (
|
||||
id int PRIMARY KEY,
|
||||
is_embedded bool NOT NULL DEFAULT(false),
|
||||
file_path text NOT NULL,
|
||||
file_type_id int NOT NULL,
|
||||
FOREIGN KEY(file_type_id) REFERENCES file_types(id)
|
||||
);
|
||||
@@ -0,0 +1,4 @@
|
||||
CREATE TABLE IF NOT EXISTS file_types (
|
||||
id INTEGER PRIMARY KEY,
|
||||
extension text NOT NULL UNIQUE
|
||||
);
|
||||
@@ -0,0 +1,7 @@
|
||||
CREATE TABLE IF NOT EXISTS recordings (
|
||||
id int PRIMARY KEY,
|
||||
name text NOT NULL,
|
||||
artist_credit_id int NOT NULL,
|
||||
FOREIGN KEY(artist_credit_id) REFERENCES artist_credit(id)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE IF NOT EXISTS release_group_recordings (
|
||||
id int PRIMARY KEY,
|
||||
release_group_id int NOT NULL,
|
||||
recording_id int NOT NULL,
|
||||
FOREIGN KEY(release_group_id) REFERENCES release_groups(id),
|
||||
FOREIGN KEY(recording_id) REFERENCES recordings(id)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE IF NOT EXISTS release_groups (
|
||||
id int PRIMARY KEY,
|
||||
name text NOT NULL,
|
||||
cover_art_id int NOT NULL,
|
||||
FOREIGN KEY(cover_art_id) REFERENCES cover_art(id)
|
||||
);
|
||||
Reference in New Issue
Block a user