7
7
ForeignKeyField ,
8
8
)
9
9
from src .flask_config import Config
10
+ from playhouse .flask_utils import FlaskDB
10
11
11
- database = PostgresqlDatabase ( Config (). DB_CONNECTION_STRING )
12
+ db_wrapper = FlaskDB ( )
12
13
13
14
14
- class BaseModel (Model ):
15
- class Meta :
16
- database = database
17
-
18
-
19
- class DbUser (BaseModel ):
15
+ class DbUser (db_wrapper .Model ):
20
16
id = CharField (primary_key = True )
21
17
display_name = CharField ()
22
18
image_url = CharField (max_length = 400 )
@@ -26,7 +22,7 @@ class Meta:
26
22
db_table = "user"
27
23
28
24
29
- class DbPlaylist (BaseModel ):
25
+ class DbPlaylist (db_wrapper . Model ):
30
26
id = CharField (primary_key = True )
31
27
description = CharField ()
32
28
image_url = CharField (null = True )
@@ -39,7 +35,7 @@ class Meta:
39
35
db_table = "playlist"
40
36
41
37
42
- class DbAlbum (BaseModel ):
38
+ class DbAlbum (db_wrapper . Model ):
43
39
id = CharField (primary_key = True )
44
40
album_type = CharField ()
45
41
total_tracks = IntegerField ()
@@ -54,7 +50,7 @@ class Meta:
54
50
db_table = "album"
55
51
56
52
57
- class DbArtist (BaseModel ):
53
+ class DbArtist (db_wrapper . Model ):
58
54
id = CharField (primary_key = True )
59
55
image_url = CharField (null = True )
60
56
name = CharField ()
@@ -64,14 +60,14 @@ class Meta:
64
60
db_table = "artist"
65
61
66
62
67
- class DbGenre (BaseModel ):
63
+ class DbGenre (db_wrapper . Model ):
68
64
name = CharField (unique = True )
69
65
70
66
class Meta :
71
67
db_table = "genre"
72
68
73
69
74
- class DbTrack (BaseModel ):
70
+ class DbTrack (db_wrapper . Model ):
75
71
id = CharField (primary_key = True )
76
72
name = CharField ()
77
73
album = ForeignKeyField (
@@ -86,7 +82,7 @@ class Meta:
86
82
db_table = "track"
87
83
88
84
89
- class PlaylistAlbumRelationship (BaseModel ):
85
+ class PlaylistAlbumRelationship (db_wrapper . Model ):
90
86
playlist = ForeignKeyField (DbPlaylist , backref = "albums" , on_delete = "CASCADE" )
91
87
album = ForeignKeyField (DbAlbum , backref = "playlistsContaining" , on_delete = "CASCADE" )
92
88
album_index = IntegerField (null = True ) # New column added
@@ -98,23 +94,23 @@ class Meta:
98
94
)
99
95
100
96
101
- class AlbumArtistRelationship (BaseModel ):
97
+ class AlbumArtistRelationship (db_wrapper . Model ):
102
98
album = ForeignKeyField (DbAlbum , backref = "artists" , on_delete = "CASCADE" )
103
99
artist = ForeignKeyField (DbArtist , backref = "albums" , on_delete = "CASCADE" )
104
100
105
101
class Meta :
106
102
indexes = ((("album" , "artist" ), True ),)
107
103
108
104
109
- class AlbumGenreRelationship (BaseModel ):
105
+ class AlbumGenreRelationship (db_wrapper . Model ):
110
106
album = ForeignKeyField (DbAlbum , backref = "genres" , on_delete = "CASCADE" )
111
107
genre = ForeignKeyField (DbGenre , backref = "albums" , on_delete = "CASCADE" )
112
108
113
109
class Meta :
114
110
indexes = ((("album" , "genre" ), True ),)
115
111
116
112
117
- class TrackArtistRelationship (BaseModel ):
113
+ class TrackArtistRelationship (db_wrapper . Model ):
118
114
track = ForeignKeyField (DbTrack , backref = "artists" , on_delete = "CASCADE" )
119
115
artist = ForeignKeyField (DbArtist , backref = "tracks" , on_delete = "CASCADE" )
120
116
0 commit comments