Djangoでマイグレーションをやり直す
Djangoでマイグレーションをやり直す Djangoで開発中にマイグレーションを元に戻したり(ロールバック)、やり直したくなった時の方法です。部分的に戻す方法と初期化したい方法の2パターンを紹介します。 開発環境 まず […]
Filter by Category
Djangoでマイグレーションをやり直す Djangoで開発中にマイグレーションを元に戻したり(ロールバック)、やり直したくなった時の方法です。部分的に戻す方法と初期化したい方法の2パターンを紹介します。 開発環境 まず […]
2020年の夏季休業のお知らせ 誠に勝手ながら、弊社では下記日程を夏季休業とさせていただきます。 夏季休業期間 2020年8月13日(木)~2020年8月16日(日) 期間中にいただきましたお問い合わせにつきましては、夏 […]
psycopg2がインストールできずエラーになる DjangoでPostgreSQLに接続するために、以下のコマンドでpsycopg2をインストールしたところ、以下のエラーが発生した時の対処法です。 エラー 実際には…の […]
Djangoのi18n用にGNU gettextをインストール 上記コマンドを実行したときにGNU gettextがインストールされていないと以下のエラーが発生します。 エラーを解決するにはGNU gettextのインス […]
Djangoの国際化(i18n)で多言語化(後半) 前回からの続きです。 コードはGitHubリポジトリにあげています。 上記コードを実行すると、locale/en/LC_MESSAGES/django.poが生成されま […]
Djangoの国際化(i18n)で多言語化(前半) Djangoの国際化(i18n)で日本語と英語の多言語化サイトを構築します。 コードはGitHubリポジトリにあげています。 開発環境 ソースコード multiling […]
多次元配列から最大値、最小値を取得 Pythonで複数の配列からなる多次元配列から最大値、最小値を取得する方法です。一次元配列も同じやり方で最大値、最小値を取得可能です。 モジュールのインストール ソースコード arr1 […]
Pythonで文字列をリスト化して一文字づつ処理 Pythonで文字列をリスト化して一文字づつ処理する方法です。サンプルでは一文字づつ文字をshift-jisに変換して、変換できない文字を表示します。 開発環境 ソースコ […]
2020年GW休業のお知らせ 平素は格別のお引立てを賜り、厚く御礼申し上げます。 誠に勝手ながら、弊社では下記日程をゴールデンウィーク休業とさせて頂きます。 2020年5月2日(土)~ 2020年5月6日(水) […]
PillowでPNGファイルを変換するときの背景処理 PillowでPNGファイルをJPGに変換するときに、背景が透過のファイルを変換すると透過部分が黒くなったり、不自然な途切れ方をしたりといった時の対処方法です。 開発 […]
名前に現在時刻を入れたファイルが連番かどうか判定(後半) 前回からの続きです。 前回は連番になっていたらまとめてリスト化しましたが、今回はまとめたファイルを動画に変換して書き出します。 コードはGitHubリポジトリにあ […]
信州ベンチャーサミットに弊社代表の石井が登壇しました 2020年2月8日(土)に長野市芸術館でピッチイベント「信州ベンチャーサミット2020」に弊社代表の石井が登壇しました。
名前に現在時刻を入れたファイルが連番かどうか判定(前半) なにかアクションがあった際に生成されるファイル名に現在時刻が入ったファイルが、連番になっているかどうかを判別して連番になっていたらまとめてリスト化する方法です。手 […]
Beautiful Soupでbrタグを改行コードに変換する Beautiful Soupでスクレイピングしたdivタグ内にbrタグがあった際に改行コードに変換する方法です。以下のコードはbrタグが複数ある場合にも対応し […]
フォルダ内のファイルを複数毎にzip形式に圧縮 ファイルをまとめてzip形式に圧縮してしまうと容量が増えてしまうので、メールなどで送るために複数個に分けて圧縮ファイルを作りたいときがあります。ファイル数がそれほど多くない […]
2020年1月1日(水)ぐんま経済新聞に掲載されました 2020年1月1日(水)ぐんま経済新聞の新年特別号 IT特集に弊社代表の石井が掲載されました。
OpenCVで複数の画像から動画ファイルを作る 前回に続き、今回は複数の画像をまとめて動画ファイルに変換する方法です。gifアニメーションを生成するときはPillowを使いましたが、動画を生成するときはOpenCVを使い […]
複数の画像からgifアニメーションを作る 定点撮影などで連番になっている複数の画像をまとめてgifアニメーションに変換する方法です。 コードはGitHubリポジトリにあげています。 コード 結果 解説 import gl […]
SeleniumでChromeが立ち上がらない Pythonでスクレイピングする時にSeleniumでChromeを立ち上げますが、その際に以下のエラーが出てブラウザが起動しない場合があります。その時の解決方法です。 解 […]
Daiwa Innovation Networkに弊社代表の石井が登壇しました 2019年12月19日(木)に大和証券本店で開催された大和証券株式会社主催のピッチイベント「第82回 Daiwa Innovati […]
Djangoで開発中にマイグレーションを元に戻したり(ロールバック)、やり直したくなった時の方法です。部分的に戻す方法と初期化したい方法の2パターンを紹介します。
開発環境
Python 3.8.0
Django 3.1
.
├── app
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── manage.py
├── rollback_migration
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── templates
まずはじめに、以下のコマンドでマイグレーション履歴を確認します。
python manage.py showmigrate
今回、作成したappというアプリケーションには0001から0003までマイグレーション履歴があります。
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
[X] 0003_logentry_add_action_flag_choices
app
[X] 0001_initial
[X] 0002_app_title
[X] 0003_app_active
auth
[X] 0001_initial
...
以下のコマンドで0001_initialまで戻ります(ロールバック)します。
python manage.py migrate app 0001_initial
以下のコマンドでロールバック出来ているか確認します。
python manage.py showmigrate
Xが消えているのが確認出来たら過去のマイグレーション(0001_initial)まで戻れています。
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
[X] 0003_logentry_add_action_flag_choices
app
[X] 0001_initial
[ ] 0002_app_title
[ ] 0003_app_active
auth
[X] 0001_initial
...
migrationsディレクトリにある不要になったマイグレーションファイルを削除します。今回は0001_initialに戻ったので、0001_initial以降を削除します。
※__init__.pyは消さない様に注意してください。
上記の様に部分的に戻すのではなく完全に初期化したい場合は以下のコマンドで初期化できます。
python manage.py migrate app zero
python manage.py showmigrate
で確認するとappのマイグレーションが初期化されているのが分かります。
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
[X] 0003_logentry_add_action_flag_choices
app
[X] 0001_initial
auth
[X] 0001_initial
...
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません
Comments