sqlalchemy로 만든 모델을 기반으로 테이블을 생성하려고 함
'Cannot add foreign key constraint'
, IntegrityError
외래키 제약 추가 불가, 무결성 에러 발생
부모 테이블 데이터 삭제 시 ondelete='SET NULL'로 관계를 없애주는 조건이 있지만 nullable=False 때문에 null이 불가함. 그래서 에러가 발생했음.
모델을 사용하지만 시리얼라이징 용도 정도로 썼고, 테이블 생성할 때는 사용하지 않아 문제되는 경우를 파악하지 못한 것도 원인임.
class A(Base):
__tablename__ = 'a'
category_id = Column(ForeignKey('a_category.id', ondelete='SET NULL', onupdate='CASCADE'), nullable=False)
조건을 통일시켜준다
class A(Base):
__tablename__ = 'a'
category_id = Column(ForeignKey('a_category.id', ondelete='SET NULL', onupdate='CASCADE'), nullable=True)