Skip to content

Commit a6fcf38

Browse files
committed
fuller schema
1 parent 2a2954b commit a6fcf38

File tree

5 files changed

+328
-0
lines changed

5 files changed

+328
-0
lines changed

Thumbs.db

24 KB
Binary file not shown.

address_key.PNG

21.9 KB
Loading

artcon.db

45 KB
Binary file not shown.

db_script.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import sqlite3
2+
import os
3+
4+
DATABASE = os.path.join('.', 'artcon.db')
5+
SCHEMA = os.path.join('.', 'schema.sql')
6+
7+
def connect_db():
8+
return sqlite3.connect(DATABASE)
9+
10+
def init_db():
11+
con = connect_db()
12+
cur = con.cursor()
13+
f = open('.\schema.sql', 'r')
14+
sql = f.read()
15+
cur.executescript(sql)
16+
print 'Success!'
17+
18+
init_db()

schema.sql

Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
-- 1
2+
drop table if exists user_type;
3+
create table user_type (
4+
id integer primary key autoincrement,
5+
type text not null
6+
);
7+
8+
-- 2
9+
drop table if exists user;
10+
create table user (
11+
id integer primary key autoincrement,
12+
user_type_id integer not null,
13+
name text not null,
14+
foreign key(user_type_id) references user_type(id)
15+
);
16+
17+
-- 3
18+
drop table if exists artist_type;
19+
create table artist_type (
20+
id integer primary key autoincrement,
21+
type text not null
22+
);
23+
24+
-- 4
25+
drop table if exists employer_type;
26+
create table employer_type (
27+
id integer primary key autoincrement,
28+
type text not null
29+
);
30+
31+
-- 5
32+
drop table if exists genre;
33+
create table genre (
34+
id integer primary key autoincrement,
35+
type text not null
36+
);
37+
38+
-- 6
39+
drop table if exists artist;
40+
create table artist (
41+
id integer primary key autoincrement,
42+
user_id integer not null,
43+
foreign key(user_id) references user(id)
44+
);
45+
46+
-- 7
47+
drop table if exists artist_genre;
48+
create table artist_genre (
49+
id integer primary key autoincrement,
50+
artist_id integer not null,
51+
genre_id integer not null,
52+
foreign key(artist_id) references artist(id),
53+
foreign key(genre_id) references genre(id)
54+
);
55+
56+
-- 8
57+
drop table if exists artist_artist_type;
58+
create table artist_artist_type (
59+
id integer primary key autoincrement,
60+
artist_id integer not null,
61+
artist_type_id integer not null,
62+
foreign key(artist_id) references artist(id),
63+
foreign key(artist_type_id) references artist_type(id)
64+
);
65+
66+
-- 9
67+
drop table if exists employer;
68+
create table employer(
69+
id integer primary key autoincrement,
70+
user_id integer not null,
71+
employer_type_id integer not null,
72+
foreign key(user_id) references user(id),
73+
foreign key(employer_type_id) references employer_type(id)
74+
);
75+
76+
-- 10
77+
drop table if exists fan;
78+
create table fan(
79+
id integer primary key autoincrement,
80+
user_id integer not null,
81+
foreign key(user_id) references user(id)
82+
);
83+
84+
-- 11
85+
drop table if exists contact_type;
86+
create table contact_type(
87+
id integer primary key autoincrement,
88+
type text not null
89+
);
90+
91+
-- 12
92+
drop table if exists user_contact;
93+
create table user_contact (
94+
id integer primary key autoincrement,
95+
user_id integer not null,
96+
contact_type_id integer not null,
97+
contact text not null,
98+
foreign key(user_id) references user(id),
99+
foreign key(contact_type_id) references contact_type(id)
100+
);
101+
102+
-- 13
103+
drop table if exists associated_act;
104+
create table associated_act (
105+
id integer primary key autoincrement,
106+
artist_id integer not null,
107+
associated_act_id integer not null,
108+
foreign key(artist_id) references artist(id),
109+
foreign key(associated_act_id) references artist(id)
110+
);
111+
112+
-- 14
113+
drop table if exists address;
114+
create table address (
115+
id integer primary key autoincrement,
116+
name text,
117+
administrative_area text,
118+
sub_administrative_area text,
119+
locality text not null,
120+
dependent_locality text,
121+
postal_code integer,
122+
thoroughfare text,
123+
premise text,
124+
sub_premise text
125+
);
126+
127+
-- 15
128+
drop table if exists venue_type;
129+
create table venue_type (
130+
id integer primary key autoincrement,
131+
type text not null
132+
);
133+
134+
-- 16
135+
drop table if exists venue;
136+
create table venue(
137+
id integer primary key autoincrement,
138+
address_id integer not null,
139+
venue_type_id integer not null,
140+
name text,
141+
foreign key(address_id) references address(id),
142+
foreign key(venue_type_id) references venue_type(id)
143+
);
144+
145+
-- 17
146+
drop table if exists performance;
147+
create table performance(
148+
id integer primary key autoincrement,
149+
venue_id integer not null,
150+
date_from date not null,
151+
date_to date,
152+
foreign key(venue_id) references venue(id)
153+
);
154+
155+
-- 18
156+
drop table if exists media_type;
157+
create table media_type(
158+
id integer primary key autoincrement,
159+
mime_type text not null
160+
);
161+
162+
-- 19
163+
drop table if exists media;
164+
create table media(
165+
id integer primary key autoincrement,
166+
media_type_id integer not null,
167+
media_path text not null,
168+
foreign key(media_type_id) references media_type(id)
169+
);
170+
171+
-- 20
172+
drop table if exists performance_media;
173+
create table performance_media (
174+
id integer primary key autoincrement,
175+
performance_id integer not null,
176+
media_id integer not null,
177+
foreign key(performance_id) references performance(id),
178+
foreign key(media_id) references media(id)
179+
);
180+
181+
-- 21
182+
drop table if exists media_artist;
183+
create table media_artist (
184+
id integer primary key autoincrement,
185+
media_id integer not null,
186+
artist_id integer not null,
187+
foreign key (media_id) references media(id),
188+
foreign key(artist_id) references artist(id)
189+
);
190+
191+
-- 22
192+
drop table if exists artist_supported;
193+
create table artist_supported (
194+
id integer primary key autoincrement,
195+
employer_id integer not null,
196+
artist_id integer not null,
197+
foreign key(employer_id) references employer(id),
198+
foreign key(artist_id) references artist(id)
199+
);
200+
201+
-- 23
202+
drop table if exists event_type;
203+
create table event_type (
204+
id integer primary key autoincrement,
205+
type text not null
206+
);
207+
208+
-- 24
209+
drop table if exists event;
210+
create table event (
211+
id integer primary key autoincrement,
212+
event_type_id integer not null,
213+
organizer_id integer not null,
214+
foreign key(event_type_id) references event_type(id),
215+
foreign key(organizer_id) references employer(id)
216+
);
217+
218+
-- 25
219+
drop table if exists event_venue;
220+
create table event_venue (
221+
id integer primary key autoincrement,
222+
event_id integer not null,
223+
venue_id integer not null,
224+
foreign key(event_id) references event(id),
225+
foreign key(venue_id) references venue(id)
226+
);
227+
228+
-- 26
229+
drop table if exists event_meta;
230+
create table event_meta (
231+
id integer primary key autoincrement,
232+
event_id integer not null,
233+
repeat_start integer,
234+
repeat_interval integer,
235+
repeat_year integer,
236+
repeat_month integer,
237+
repeat_day integer,
238+
repeat_week integer,
239+
repeat_weekday integer,
240+
foreign key(event_id) references event(id)
241+
);
242+
243+
-- 27
244+
drop table if exists audition_type;
245+
create table audition_type (
246+
id integer primary key autoincrement,
247+
type text not null
248+
);
249+
250+
-- 28
251+
drop table if exists audition;
252+
create table audition (
253+
id integer primary key autoincrement,
254+
employer_id integer not null,
255+
event_id integer,
256+
audition_type_id integer not null,
257+
foreign key(employer_id) references employer(id),
258+
foreign key(event_id) references event(id),
259+
foreign key(audition_type_id) references audition_type(id)
260+
);
261+
262+
-- 29
263+
drop table if exists suggestion;
264+
create table suggestion (
265+
id integer primary key autoincrement,
266+
employer_id integer not null,
267+
user_id integer not null,
268+
suggestion text not null,
269+
foreign key(employer_id) references employer(id),
270+
foreign key(user_id) references user(id)
271+
);
272+
273+
-- 30
274+
drop table if exists artist_follower;
275+
create table artist_follower (
276+
id integer primary key autoincrement,
277+
artist_id integer not null,
278+
follower_id integer not null,
279+
foreign key(artist_id) references artist(id),
280+
foreign key(follower_id) references user(id)
281+
);
282+
283+
-- 31
284+
drop table if exists portfolio;
285+
create table portfolio (
286+
id integer primary key autoincrement,
287+
artist_id integer not null
288+
);
289+
290+
-- 32
291+
drop table if exists portfolio_group;
292+
create table portfolio_group (
293+
id integer primary key autoincrement,
294+
name text,
295+
portfolio_id integer not null,
296+
foreign key(portfolio_id) references portfolio(id)
297+
);
298+
299+
-- 33
300+
drop table if exists portfolio_media;
301+
create table portfolio_media (
302+
id integer primary key autoincrement,
303+
portfolio_id integer not null,
304+
media_id integer not null,
305+
portfolio_group_id integer,
306+
foreign key(portfolio_id) references portfolio(id),
307+
foreign key(media_id) references media(id),
308+
foreign key(portfolio_group_id) references portfolio_group(id)
309+
);
310+

0 commit comments

Comments
 (0)