[英]Using an existing Enum in new Alembic migration in python
我在第一次遷移中為一個模型創建了枚舉:
def upgrade() -> None:
…
gender_enum = postgresql.ENUM('MALE', 'FEMALE', 'OTHER', name='genderenum', create_type=False)
gender_enum.create(op.get_bind(), checkfirst=True)
op.add_column('user', sa.Column('gender', gender_enum, nullable=True))
…
def downgrade() -> None:
…
gender_enum = sa.Enum(name='genderenum')
gender_enum.drop(op.get_bind(), checkfirst=True)
…
如何在新遷移中將此 Enum 與其他模型一起使用? 我不需要創建新的。 我試圖用 «checkfirst» 創建一個新的,但它還沒有創建。
還有一個問題:我使用了create_type=False
,但是類型是在 db 中創建的。 可以嗎,這個 arg 是做什么用的?
臨時解決方案:
sql = '''
ALTER TABLE new_user_table
ADD COLUMN gender genderenum;
'''
op.execute(sql)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.