Flask-SQLAlchemy를 사용하여 모델을 정의한 다음 Flask-Migrate를 사용하여 PostgreSQL 데이터베이스에 배포 할 마이그레이션 스크립트를 자동 생성합니다. 나는 아래와 같이 내 응용 프로그램에서 사용하는 데이터베이스에서 여러 SQL 뷰를 정의했습니다.Flask 가져 오기 - Flask-SQLAlchemy 모델로 매핑 된 SQL 뷰를 무시합니다.
그러나 이제 Flask-Migrate는 테이블이라고 생각하여보기에 대한 마이그레이션 파일을 생성합니다. Flags-Migrate/Alembic을 자동 생성하는 동안보기를 무시하도록 올바르게 얻으려면 어떻게해야합니까?
SQL보기 이름 : vw_SampleView
2 열 : id
및 rowcount
입니다.
ViewSampleView.query.all()
내가 http://alembic.zzzcomputing.com/en/latest/cookbook.html에 대한 지침은 다음과 같은 시도 내 env.py
파일로 내 모델에 info = dict(is_view=True)
부분과 다음의 비트를 추가했지만 돈 ': 지금과 같이 질의를 할 수 있다는 것을 의미
class ViewSampleView(db.Model):
__tablename__ = 'vw_report_high_level_count'
info = dict(is_view=True)
id = db.Column(db.String(), primary_key=True)
rowcount = db.Column(db.Integer(), nullable=False)
여기에서 어디로 가야할지 알지 못한다.
def include_object(object, name, type_, reflected, compare_to):
"""
Exclude views from Alembic's consideration.
"""
return not object.info.get('is_view', False)
...
context.configure(url=url,include_object = include_object)
이 마법처럼 일했다! context.configure가 env.py : run_migrations_offline() 및 run_migrations_online()의 두 위치에 설정되어있는 자체 독자 및 다른 독자에게도 유의하십시오. –