Flask Academy · レッスン

upgradeで適用とロールバックを行う

スキーマを前後のバージョンへ移行します

レッスン 3/413 ステップ

「upgradeで適用とロールバックを行う」はCoddyKit上の無料Flask Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFlask Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Flask Academyコースには全4レッスンが含まれています。

スクリプトからスキーマへ

マイグレーションファイルはありますが、データベースはまだ変更されていません。1つのコマンドで、そのスクリプトを実際のテーブルに反映できます。🚀

upgradeを実行する

flask db upgradeは保留中のマイグレーションをすべて実行し、データベースを順番に最新バージョンまで更新します。

flask db upgrade

upgrade()を呼び出す

内部では、Alembicが保留中の各スクリプト内にあるupgrade関数を実行し、createやalterの操作を適用します。

def upgrade():
    op.create_table("user", ...)

バージョンが記録される

正常に実行されると、新しいリビジョンIDがalembic_versionテーブルに保存され、Alembicが現在の位置を記憶できるようになります。

保留中のものだけが実行される

upgradeは賢く動作します。すでに適用されたマイグレーションはスキップし、保留中のものだけを実行するため、再実行しても安全です。

間違えてしまったら?

マイグレーションに問題があっても、データベースを手作業で編集してはいけません。代わりに、問題のない既知のバージョンまでロールバックします。

downgradeでロールバックする

flask db downgradeはdowngrade関数を実行して直前のマイグレーションを取り消し、最後に行った変更を元に戻します。

flask db downgrade

特定のリビジョンを指定する

どちらのコマンドも対象を指定できます。revision IDを渡すと、マイグレーション履歴内のその地点へ直接移動できます。

flask db upgrade a1b2c3d4

現在位置を確認する

いつでもflask db currentを実行すれば、現在データベースが適用されているリビジョンを表示できます。簡単な動作確認に便利です。

flask db current

履歴を読む

flask db historyはすべてのマイグレーションを順番に一覧表示するため、最初のリビジョンから最新のものまでの全経路を確認できます。

flask db history

本番環境で適用する

デプロイ時にはリリース手順としてupgradeを実行し、migrateは実行しません。本番環境では、チームがすでにレビューしたスクリプトを単に再実行します。

クイックチェック

最後のマイグレーションで問題が発生しました。その変更だけを取り消すにはどうしますか?

まとめ

flask db upgradeで変更を適用し、downgradeで元に戻し、currentとhistoryで状態を確認する方法を学びました。🎉

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「upgradeで適用とロールバックを行う」レッスンは無料ですか?

はい。「upgradeで適用とロールバックを行う」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Flask Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Flask Academyコースには全4レッスンが含まれています。

「upgradeで適用とロールバックを行う」で何を学びますか?

スキーマを前後のバージョンへ移行します ブラウザで直接実行するハンズオンコードでFlask Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Flask Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのFlask Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「upgradeで適用とロールバックを行う」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このFlask Academyレッスンでコードを書いて実行できますか?

はい。すべてのFlask Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. create_allではなくマイグレーションが必要な理由
  2. マイグレーションを初期化して自動生成する
  3. upgradeで適用とロールバックを行う
  4. 生成されたスクリプトを確認して編集する
← Flask Academyに戻る