Skip to content

Commit 2fac686

Browse files
committed
added models for tests
1 parent 3e68db5 commit 2fac686

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

tests/models.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,3 +312,80 @@ class SelfRelationship(Base):
312312
class ContainsTimestamp(Base):
313313
id = Column(Integer, primary_key=True)
314314
timestamp = Column(DateTime(True), nullable=False)
315+
316+
317+
class Alpha(Base):
318+
__tablename__ = "alpha"
319+
320+
id = Column(Integer, primary_key=True, autoincrement=True)
321+
beta_id = Column(
322+
Integer,
323+
ForeignKey("beta.id"),
324+
nullable=False,
325+
index=True,
326+
)
327+
beta = relationship("Beta", back_populates="alphas")
328+
gamma_id = Column(Integer, ForeignKey("gamma.id"), nullable=False)
329+
gamma: "Gamma" = relationship("Gamma")
330+
331+
332+
class BetaGammaBinding(Base):
333+
__tablename__ = "beta_gamma_binding"
334+
335+
id: int = Column(Integer, primary_key=True)
336+
beta_id: int = Column(ForeignKey("beta.id", ondelete="CASCADE"), nullable=False)
337+
gamma_id: int = Column(ForeignKey("gamma.id", ondelete="CASCADE"), nullable=False)
338+
339+
340+
class Beta(Base):
341+
__tablename__ = "beta"
342+
343+
id = Column(Integer, primary_key=True, autoincrement=True)
344+
gammas: List["Gamma"] = relationship(
345+
"Gamma",
346+
secondary="beta_gamma_binding",
347+
back_populates="betas",
348+
lazy="noload",
349+
)
350+
alphas = relationship("Alpha")
351+
deltas: List["Delta"] = relationship(
352+
"Delta",
353+
secondary="beta_delta_binding",
354+
lazy="noload",
355+
)
356+
357+
358+
class Gamma(Base):
359+
__tablename__ = "gamma"
360+
361+
id = Column(Integer, primary_key=True, autoincrement=True)
362+
betas: List["Beta"] = relationship(
363+
"Beta",
364+
secondary="beta_gamma_binding",
365+
back_populates="gammas",
366+
lazy="raise",
367+
)
368+
delta_id: int = Column(
369+
Integer,
370+
ForeignKey("delta.id", ondelete="CASCADE"),
371+
nullable=False,
372+
index=True,
373+
)
374+
alpha = relationship("Alpha")
375+
delta: "Delta" = relationship("Delta")
376+
377+
378+
class BetaDeltaBinding(Base):
379+
__tablename__ = "beta_delta_binding"
380+
381+
id: int = Column(Integer, primary_key=True)
382+
beta_id: int = Column(ForeignKey("beta.id", ondelete="CASCADE"), nullable=False)
383+
delta_id: int = Column(ForeignKey("delta.id", ondelete="CASCADE"), nullable=False)
384+
385+
386+
class Delta(Base):
387+
__tablename__ = "delta"
388+
389+
id = Column(Integer, primary_key=True, autoincrement=True)
390+
gammas: List["Gamma"] = relationship("Gamma", back_populates="delta", lazy="noload")
391+
betas: List["Beta"] = relationship("Beta", secondary="beta_delta_binding", back_populates="deltas", lazy="noload")

0 commit comments

Comments
 (0)