22from sqlalchemy import BigInteger
33from sqlalchemy import Boolean
44from sqlalchemy import CHAR
5- from sqlalchemy import CheckConstraint
65from sqlalchemy import Column
76from sqlalchemy import Float
8- from sqlalchemy import ForeignKey
9- from sqlalchemy import ForeignKeyConstraint
107from sqlalchemy import Index
118from sqlalchemy import Integer
129from sqlalchemy import String
1310from sqlalchemy import Text
1411from sqlalchemy .ext .declarative import declarative_base
15- from sqlalchemy .orm import relationship
1612
1713Base = declarative_base ()
1814metadata = Base .metadata
@@ -47,34 +43,17 @@ class ContentLocalfile(Base):
4743class ContentContentnode (Base ):
4844 __tablename__ = "content_contentnode"
4945 __table_args__ = (
50- CheckConstraint ("lft >= 0" ),
51- CheckConstraint ("tree_id >= 0" ),
52- CheckConstraint ("level >= 0" ),
53- CheckConstraint ("duration >= 0" ),
54- CheckConstraint ("rght >= 0" ),
55- ForeignKeyConstraint (
56- ["lang_id" ],
57- ["content_language.id" ],
58- deferrable = True ,
59- initially = "DEFERRED" ,
60- ),
61- ForeignKeyConstraint (
62- ["parent_id" ],
63- ["content_contentnode.id" ],
64- deferrable = True ,
65- initially = "DEFERRED" ,
66- ),
6746 Index (
68- "content_contentnode_level_channel_id_available_29f0bb18_idx " ,
47+ "content_contentnode_level_channel_id_kind_fd732cc4_idx " ,
6948 "level" ,
7049 "channel_id" ,
71- "available " ,
50+ "kind " ,
7251 ),
7352 Index (
74- "content_contentnode_level_channel_id_kind_fd732cc4_idx " ,
53+ "content_contentnode_level_channel_id_available_29f0bb18_idx " ,
7554 "level" ,
7655 "channel_id" ,
77- "kind " ,
56+ "available " ,
7857 ),
7958 )
8059
@@ -89,6 +68,7 @@ class ContentContentnode(Base):
8968 kind = Column (String (200 ), nullable = False )
9069 available = Column (Boolean , nullable = False )
9170 lft = Column (Integer , nullable = False )
71+ rght = Column (Integer , nullable = False )
9272 tree_id = Column (Integer , nullable = False , index = True )
9373 level = Column (Integer , nullable = False )
9474 lang_id = Column (String (14 ), index = True )
@@ -112,12 +92,8 @@ class ContentContentnode(Base):
11292 learning_activities_bitmask_0 = Column (BigInteger )
11393 ancestors = Column (Text )
11494 admin_imported = Column (Boolean )
115- rght = Column (Integer , nullable = False )
11695 parent_id = Column (CHAR (32 ), index = True )
11796
118- lang = relationship ("ContentLanguage" )
119- parent = relationship ("ContentContentnode" , remote_side = [id ])
120-
12197
12298class ContentAssessmentmetadata (Base ):
12399 __tablename__ = "content_assessmentmetadata"
@@ -128,22 +104,11 @@ class ContentAssessmentmetadata(Base):
128104 mastery_model = Column (Text , nullable = False )
129105 randomize = Column (Boolean , nullable = False )
130106 is_manipulable = Column (Boolean , nullable = False )
131- contentnode_id = Column (
132- ForeignKey ("content_contentnode.id" ), nullable = False , index = True
133- )
134-
135- contentnode = relationship ("ContentContentnode" )
107+ contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
136108
137109
138110class ContentChannelmetadata (Base ):
139111 __tablename__ = "content_channelmetadata"
140- __table_args__ = (
141- CheckConstraint ('"order" >= 0' ),
142- ForeignKeyConstraint (
143- ["root_id" ],
144- ["content_contentnode.id" ],
145- ),
146- )
147112
148113 id = Column (CHAR (32 ), primary_key = True )
149114 name = Column (String (200 ), nullable = False )
@@ -163,8 +128,6 @@ class ContentChannelmetadata(Base):
163128 included_categories = Column (Text )
164129 included_grade_levels = Column (Text )
165130
166- root = relationship ("ContentContentnode" )
167-
168131
169132class ContentContentnodeHasPrerequisite (Base ):
170133 __tablename__ = "content_contentnode_has_prerequisite"
@@ -178,22 +141,25 @@ class ContentContentnodeHasPrerequisite(Base):
178141 )
179142
180143 id = Column (Integer , primary_key = True )
181- from_contentnode_id = Column (
182- ForeignKey ("content_contentnode.id" ), nullable = False , index = True
183- )
184- to_contentnode_id = Column (
185- ForeignKey ("content_contentnode.id" ), nullable = False , index = True
186- )
144+ from_contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
145+ to_contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
187146
188- from_contentnode = relationship (
189- "ContentContentnode" ,
190- primaryjoin = "ContentContentnodeHasPrerequisite.from_contentnode_id == ContentContentnode.id" ,
191- )
192- to_contentnode = relationship (
193- "ContentContentnode" ,
194- primaryjoin = "ContentContentnodeHasPrerequisite.to_contentnode_id == ContentContentnode.id" ,
147+
148+ class ContentContentnodeIncludedLanguages (Base ):
149+ __tablename__ = "content_contentnode_included_languages"
150+ __table_args__ = (
151+ Index (
152+ "content_contentnode_included_languages_contentnode_id_language_id_7d14ec8b_uniq" ,
153+ "contentnode_id" ,
154+ "language_id" ,
155+ unique = True ,
156+ ),
195157 )
196158
159+ id = Column (Integer , primary_key = True )
160+ contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
161+ language_id = Column (String (14 ), nullable = False , index = True )
162+
197163
198164class ContentContentnodeRelated (Base ):
199165 __tablename__ = "content_contentnode_related"
@@ -207,21 +173,8 @@ class ContentContentnodeRelated(Base):
207173 )
208174
209175 id = Column (Integer , primary_key = True )
210- from_contentnode_id = Column (
211- ForeignKey ("content_contentnode.id" ), nullable = False , index = True
212- )
213- to_contentnode_id = Column (
214- ForeignKey ("content_contentnode.id" ), nullable = False , index = True
215- )
216-
217- from_contentnode = relationship (
218- "ContentContentnode" ,
219- primaryjoin = "ContentContentnodeRelated.from_contentnode_id == ContentContentnode.id" ,
220- )
221- to_contentnode = relationship (
222- "ContentContentnode" ,
223- primaryjoin = "ContentContentnodeRelated.to_contentnode_id == ContentContentnode.id" ,
224- )
176+ from_contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
177+ to_contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
225178
226179
227180class ContentContentnodeTags (Base ):
@@ -236,15 +189,8 @@ class ContentContentnodeTags(Base):
236189 )
237190
238191 id = Column (Integer , primary_key = True )
239- contentnode_id = Column (
240- ForeignKey ("content_contentnode.id" ), nullable = False , index = True
241- )
242- contenttag_id = Column (
243- ForeignKey ("content_contenttag.id" ), nullable = False , index = True
244- )
245-
246- contentnode = relationship ("ContentContentnode" )
247- contenttag = relationship ("ContentContenttag" )
192+ contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
193+ contenttag_id = Column (CHAR (32 ), nullable = False , index = True )
248194
249195
250196class ContentFile (Base ):
@@ -254,19 +200,11 @@ class ContentFile(Base):
254200 supplementary = Column (Boolean , nullable = False )
255201 thumbnail = Column (Boolean , nullable = False )
256202 priority = Column (Integer , index = True )
257- contentnode_id = Column (
258- ForeignKey ("content_contentnode.id" ), nullable = False , index = True
259- )
260- lang_id = Column (ForeignKey ("content_language.id" ), index = True )
261- local_file_id = Column (
262- ForeignKey ("content_localfile.id" ), nullable = False , index = True
263- )
203+ contentnode_id = Column (CHAR (32 ), nullable = False , index = True )
204+ lang_id = Column (String (14 ), index = True )
205+ local_file_id = Column (String (32 ), nullable = False , index = True )
264206 preset = Column (String (150 ), nullable = False )
265207
266- contentnode = relationship ("ContentContentnode" )
267- lang = relationship ("ContentLanguage" )
268- local_file = relationship ("ContentLocalfile" )
269-
270208
271209class ContentChannelmetadataIncludedLanguages (Base ):
272210 __tablename__ = "content_channelmetadata_included_languages"
@@ -280,11 +218,6 @@ class ContentChannelmetadataIncludedLanguages(Base):
280218 )
281219
282220 id = Column (Integer , primary_key = True )
283- channelmetadata_id = Column (
284- ForeignKey ("content_channelmetadata.id" ), nullable = False , index = True
285- )
286- language_id = Column (ForeignKey ("content_language.id" ), nullable = False , index = True )
287221 sort_value = Column (Integer , nullable = False )
288-
289- channelmetadata = relationship ("ContentChannelmetadata" )
290- language = relationship ("ContentLanguage" )
222+ channelmetadata_id = Column (CHAR (32 ), nullable = False , index = True )
223+ language_id = Column (String (14 ), nullable = False , index = True )
0 commit comments