· 5 years ago · Apr 06, 2020, 05:10 PM
1create_songs_table_query = """ CREATE TABLE IF NOT EXISTS songs (
2 song_id integer PRIMARY KEY AUTOINCREMENT,
3 title text NOT NULL,
4 artist text NOT NULL,
5 added_timestamp integer NOT NULL,
6 file_id INTEGER NULL,
7 FOREIGN KEY (file_id)
8 REFERENCES files (file_id)
9 ON DELETE CASCADE
10 ); """
11
12create_files_table_query = """ CREATE TABLE IF NOT EXISTS files (
13 file_id integer PRIMARY KEY AUTOINCREMENT,
14 filename text NULL,
15 size integer NULL,
16 song_id INTEGER NOT NULL,
17 FOREIGN KEY (song_id)
18 REFERENCES songs (song_id)
19 ON DELETE CASCADE
20 ); """
21
22create_tags_table_query = """CREATE TABLE IF NOT EXISTS tags (
23 tag_id integer PRIMARY KEY AUTOINCREMENT,
24 tag_text text NOT NULL,
25 tag_timestamp integer NULL,
26
27 ); """
28
29create_songs_tags_table_query = """CREATE TABLE IF NOT EXISTS songs_tags (
30 song_tag_id integer PRIMARY KEY AUTOINCREMENT,
31 song_id INTEGER NOT NULL,
32 FOREIGN KEY (song_id)
33 REFERENCES songs (song_id)
34 ON DELETE CASCADE,
35 tag_id INTEGER NOT NULL,
36 FOREIGN KEY (tag_id)
37 REFERENCES tags (tag_id)
38 ON DELETE CASCADE
39 ); """
40
41create_playlists_table_query = """CREATE TABLE IF NOT EXISTS playlists (
42 playlist_id integer PRIMARY KEY AUTOINCREMENT,
43 playlist_title text NOT NULL,
44 created_timestamp INTEGER NOT NULL,
45 updated_timestamp INTEGER NULL,
46 ); """
47
48create_songs_playlists__table_query = """CREATE TABLE IF NOT EXISTS songs_playlists (
49 song_playlist_id integer PRIMARY KEY AUTOINCREMENT,
50 song_id INTEGER NOT NULL,
51 FOREIGN KEY (song_id)
52 REFERENCES songs (song_id)
53 ON DELETE CASCADE,
54 playlist_id INTEGER NOT NULL,
55 FOREIGN KEY (playlist_id)
56 REFERENCES playlists (playlist_id)
57 ON DELETE CASCADE
58 ); """