2015-01-23 6 views
1

하나의 테이블과 기존 테이블에 하나의 열을 추가하여 데이터베이스를 업데이트해야합니다. 새 열과 테이블에는 일대 다 관계가 있어야합니다.alembic : 리비전 파일에 관계 만들기

def upgrade(): 
    op.create_table('categories', 
     sa.Column('category_id', sa.Integer, primary_key=True), 
     sa.Column('category_name', sa.String(30)), 
     sa.Relationship('post', backref='cat', lazy='dynamic')) 
    op.add_column('post', sa.Column('category', sa.Integer, sa.ForeignKey('categories.category_id'))) 

문제는이 라인이다 :

sa.Relationship('post', backref='cat', lazy='dynamic')) 

여기의 관계를 정의하는 올바른 코드는 무엇입니까 여기

는 증류기 수정 파일입니다? 감사합니다.

+1

Alembic은 데이터베이스 마이그레이션 도구 *이므로 관계와 상관 없습니다. 그것은 'ForeignKey'을 처리하지만. 따라서 당신 만이 모델에 넣는 관계 정의 *를 마이그레이션하는 데 사용해서는 안됩니다. – van

답변

11

관계는 SQL 측이 아니라 SQLAlchemy 측에만 정의됩니다. 필요한 테이블 또는 열을 작성하기 만하면 관계가 올바르게 작동합니다. 따라서 마이그레이션 중에 있어서는 안됩니다.