私はこのチュートリアルに従っています..最初の自動生成は完璧です..基本的に、アップグレードとダウングレードの方法で問題なく移行ファイルを作成します。
これが移行ファイルのリビジョン番号だとしましょう: 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
しかしその後、デルタだけではなく、最初の移行ファイルの複製を作成し続けます (つまり、データベース スキーマ全体を移行します)。