Skip to content
Snippets Groups Projects
Commit 8c3150da authored by Christopher Bohn's avatar Christopher Bohn :thinking:
Browse files

Updated to work with SQLAlchemy 1.4 rules

parent b2170fe9
No related branches found
No related tags found
No related merge requests found
...@@ -52,10 +52,19 @@ class Person(Persisted): ...@@ -52,10 +52,19 @@ class Person(Persisted):
back_populates='reviewers') back_populates='reviewers')
# If we want to be able to access the join table's pairs themselves, we write a standard one-to-many relationship # If we want to be able to access the join table's pairs themselves, we write a standard one-to-many relationship
# with extra information. # with extra information.
reviewerships = relationship('Reviewership', uselist=True, foreign_keys='[Reviewership.reviewer_id]', # (replace the reviewers & reviewees relationships on lines 45-52 with:
back_populates='reviewer') # reviewers = relationship('Person', uselist=True, secondary='reviewerships',
revieweeships = relationship('Reviewership', uselist=True, foreign_keys='[Reviewership.reviewee_id]', # primaryjoin='Reviewership.reviewee_id == Person.person_id',
back_populates='reviewee') # secondaryjoin='Reviewership.reviewer_id == Person.person_id',
# viewonly=True)
# reviewees = relationship('Person', uselist=True, secondary='reviewerships',
# primaryjoin='Reviewership.reviewer_id == Person.person_id',
# secondaryjoin='Reviewership.reviewee_id == Person.person_id',
# viewonly=True)
# reviewerships = relationship('Reviewership', uselist=True, foreign_keys='[Reviewership.reviewer_id]',
# back_populates='reviewer')
# revieweeships = relationship('Reviewership', uselist=True, foreign_keys='[Reviewership.reviewee_id]',
# back_populates='reviewee')
class Reviewership(Persisted): class Reviewership(Persisted):
...@@ -64,10 +73,10 @@ class Reviewership(Persisted): ...@@ -64,10 +73,10 @@ class Reviewership(Persisted):
reviewee_id = Column(Integer, ForeignKey('people.person_id', ondelete='CASCADE'), primary_key=True) reviewee_id = Column(Integer, ForeignKey('people.person_id', ondelete='CASCADE'), primary_key=True)
# If we want to be able to access the related records from a join-table pairs, we write a standard many-to-one # If we want to be able to access the related records from a join-table pairs, we write a standard many-to-one
# relationship with extra information. # relationship with extra information.
reviewer = relationship('Person', foreign_keys='[Reviewership.reviewer_id]', remote_side='[Person.person_id]', # reviewer = relationship('Person', foreign_keys='[Reviewership.reviewer_id]', remote_side='[Person.person_id]',
back_populates='reviewerships') # back_populates='reviewerships')
reviewee = relationship('Person', foreign_keys='[Reviewership.reviewee_id]', remote_side='[Person.person_id]', # reviewee = relationship('Person', foreign_keys='[Reviewership.reviewee_id]', remote_side='[Person.person_id]',
back_populates='revieweeships') # back_populates='revieweeships')
class Database(object): class Database(object):
......
...@@ -19,7 +19,7 @@ def add_starter_data(session): ...@@ -19,7 +19,7 @@ def add_starter_data(session):
def main(): def main():
try: try:
url = Database.construct_mysql_url('localhost', 3306, 'people', 'root', 'cse') url = Database.construct_mysql_url('localhost', 3306, 'people', 'root', '')
database = Database(url) database = Database(url)
database.ensure_tables_exist() database.ensure_tables_exist()
print('Tables created.') print('Tables created.')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment