Having a relational table between 3 classes. SQLAlchemy

I am working on a project that has these three classes

class Movie(base):
def __init__(self, movie_name=None, year=None, persons=list()):
    self.movie_name = movie_name
    self.persons = persons
    self.year = year

__tablename__ = "movies"
id = Column('id', Integer, primary_key=True, autoincrement=True)
movie_name = Column('movie_name', String(255), nullable=False)
year = Column('year', Integer, nullable=False)
kind = Column('kind', String(255))
persons = relationship("Person",
                       secondary=movie_person_association_table)
class Person(base):
def __init__(self, first_name=None, last_name=None, role=list()):
    self.first_name = first_name
    self.last_name = last_name
    self.role = role

__tablename__ = "persons"

id = Column('id', Integer, primary_key=True, autoincrement=True)
first_name = Column('first_name', String(255), nullable=False)
last_name = Column('last_name', String(255), nullable=False)
role = relationship("Role",
                    secondary=role_person_association_table)
class Role(base):
def __init__(self, name=None):
    self.name = name

__tablename__ = "role"
id = Column('id', Integer, primary_key=True, autoincrement=True)
name = Column('name', String(255), nullable=False)

Movie class has persons and each person can have multiple roles. I am using pure python and sqlAlchemy as my ORM. I want to create a relational table that I can keep three foreign keys. that is one for each of these classes. My goal is to know the role of each person in each movie. the challenge is that SQLAlchemy will not work if I add a new column to the existing relational table, and won't populate it as I want.

P.s the code above is not all my code. this is just the necessary part. to avoid long questions I wrote the essential parts. I have the code for the relational tables I specified exactly as mentioned in sqlAlchemy docs. thanks in advance