@@ -173,8 +173,8 @@ class ProcessSource(Base):
173173 nullable = False ,
174174 )
175175
176- sources = relationship ("Source" , passive_deletes = "all" )
177176 processes = relationship ("Process" , passive_deletes = "all" )
177+ sources = relationship ("Source" , passive_deletes = "all" )
178178
179179 def __repr__ (self ):
180180
@@ -184,6 +184,33 @@ def __repr__(self):
184184 )
185185
186186
187+ class ProcessSourceObject (Base ):
188+ __tablename__ = "process_source_object"
189+ __table_args__ = {"schema" : "process_tracker" }
190+
191+ process_id = Column (
192+ Integer ,
193+ ForeignKey ("process_tracker.process.process_id" ),
194+ primary_key = True ,
195+ nullable = False ,
196+ )
197+ source_object_id = Column (
198+ Integer ,
199+ ForeignKey ("process_tracker.source_object_lkup.source_object_id" ),
200+ primary_key = True ,
201+ nullable = False ,
202+ )
203+
204+ objects = relationship ("SourceObject" , passive_deletes = "all" )
205+ processes = relationship ("Process" , passive_deletes = "all" )
206+
207+ def __repr__ (self ):
208+ return "<ProcessSourceObject (process_id=%s, source_object=%s)>" % (
209+ self .process_id ,
210+ self .source_object_id ,
211+ )
212+
213+
187214class ProcessTarget (Base ):
188215 __tablename__ = "process_target"
189216 __table_args__ = {"schema" : "process_tracker" }
@@ -201,13 +228,41 @@ class ProcessTarget(Base):
201228 nullable = False ,
202229 )
203230
204- targets = relationship ("Source" , passive_deletes = "all" )
205231 processes = relationship ("Process" , passive_deletes = "all" )
232+ targets = relationship ("Source" , passive_deletes = "all" )
206233
207234 def __repr__ (self ):
208235 return "<ProcessSource (process=%s, target_source=%s)>" % (
209236 self .process_id ,
210- self .source_id ,
237+ self .target_source_id ,
238+ )
239+
240+
241+ class ProcessTargetObject (Base ):
242+
243+ __tablename__ = "process_target_object"
244+ __table_args__ = {"schema" : "process_tracker" }
245+
246+ process_id = Column (
247+ Integer ,
248+ ForeignKey ("process_tracker.process.process_id" ),
249+ primary_key = True ,
250+ nullable = False ,
251+ )
252+ target_object_id = Column (
253+ Integer ,
254+ ForeignKey ("process_tracker.source_object_lkup.source_object_id" ),
255+ primary_key = True ,
256+ nullable = False ,
257+ )
258+
259+ objects = relationship ("SourceObject" , passive_deletes = "all" )
260+ processes = relationship ("Process" , passive_deletes = "all" )
261+
262+ def __repr__ (self ):
263+ return "<ProcessTargetObject (process_id=%s, target_object=%s)>" % (
264+ self .process_id ,
265+ self .target_object_id ,
211266 )
212267
213268
0 commit comments