SQLAlchemy에서 Flask, Alembic 및 PostgreSQL을 사용하고 있습니다. 기존 테이블 location_messages
에 campaign_id
이라는 열이 있습니다. 이것은SQLAlchemy를 통해 기존 테이블 열에 외래 키 제약 조건을 추가하려면 어떻게해야합니까?
campaign_id = db.Column(db.Integer)
내가 그것을 외부 키를 추가 할 코드와 모델에 처음 만들어진, 그래서 내가 revision --autogenerate
실행
campaign_id = db.Column(db.Integer, db.ForeignKey('campaigns.id'))
와 모델을 업데이트하지만 작성하지 않은되었다 아무것도 - 그래서 나는 docs 통해 찾고 있었지만 내 사용에 대한 구문을 grok 수 없습니다. 이 증류기에 (그것을 포기 후) 처음부터 테이블을 생성, 가치가 무엇인지를 들어
op.create_table('location_messages',
[...]
sa.Column('campaign_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['campaign_id'], ['campaigns.id'],),
sa.PrimaryKeyConstraint('id')
)
하지만 내 인생, 나는 기존 테이블이 작업을 수행 할 수있는 방법을 찾을 수 없습니다. 테이블의 인스턴스를 가져 와서 ForeignKeyConstraint
을 열에 할당하는 방법이 있습니까?
일부 시나리오에서는 예를 들어, alembic 마이그레이션을 SQLAlchemy 모델과 동기화해야하는 경우 제약 조건에 명시 적 명명을 사용하는 것이 좋습니다. 그렇지 않으면 결과가 일부 'table_ibfk_ #'번호에 종속적 일 수 있으며 특정 FK 문제를 제거 할 수 있습니다. –