sqlalchemyは外部キーを作成しません
-
10-07-2019 - |
質問
SqlAlchemy初心者の質問:
Base = declarative_base()
class A(Base):
__tablename__ = 'as'
id = Column(Integer, primary_key=True)
class B(Base):
__tablename__ = 'bs'
id = Column(Integer, primary_key=True)
a = relation(A)
データベーススキーマを作成すると、asとbsの2つのテーブルがあり、1つの列(id)がありますが、テーブルbsにはAを指す a
列はありません。
何が間違っているのでしょうか?重要な場合、データベースはmysqlです。
解決
relation()
は、2つのテーブルがどのように関連しているかをマッパーに伝えるだけです。外部キー情報を含む列を追加する必要があります。例:
class B(Base):
__tablename__ = 'bs'
id = Column(Integer, primary_key=True)
a_id = Column(Integer, ForeignKey('as.id'), name="a")
a = relation(A)
所属していません StackOverflow