0

私はこのチュートリアルに従っています..最初の自動生成は完璧です..基本的に、アップグレードとダウングレードの方法で問題なく移行ファイルを作成します。

これが移行ファイルのリビジョン番号だとしましょう: 3e96cf22770b.. すべてのアップグレード ステートメントは次のようになります。

def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table('hashtag',
                    sa.Column('id', sa.VARCHAR(), autoincrement=False, nullable=False),
                    sa.Column('text', sa.VARCHAR(), autoincrement=False, nullable=True),
                    sa.PrimaryKeyConstraint('id', name=u'hashtag_pkey')
                    )

私のダウングレードステートメントは次のようになります。

def downgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.drop_table('user_access_token')

ここで、models.py ファイルに簡単な変更を加えました。git では次のようになります。

-    verificationCode = Column(String())
+    isVerified = Column(Boolean())

問題は、実際にデルタ移行ファイルを提供する自動生成ステートメントを実行する方法がわかりません..つまり、ある列を別の列に置き換える移行ファイルが欲しいだけです..

現在のリビジョンを設定してから3e96cf22770b実行しようとしました

python migrate.py db revision --autogenerate

しかしその後、デルタだけではなく、最初の移行ファイルの複製を作成し続けます (つまり、データベース スキーマ全体を移行します)。

4

2 に答える 2