78
64

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DjangoでDBを消去して再migrationする(sqlite3)

Posted at

modelsを再定義した時にmigrationをやり直したい時があると思います。
そのままmigrateしても良いのですが、DBを消去してもう一度やり直したい時の方法です。

まずappディレクトリのmigrationsを消します。

cd [アプリケーション]
rm -d -r migrations/

プロジェクトのディレクトリに戻って、dbを消します(sqlite3の場合)

cd [プロジェクト]
rm -d -r db.sqlite3

そしてmigration

python manage.py makemigrations app
python manage.py migrate

管理ユーザーも消えるので、必要な場合はもう一度作ります。

python manage.py createsuperuser

この一連の流れをシェルスクリプトにしたので
必要な方はコピペでどうぞw
app名は適宜変更して下さい。

dbreset.sh
#!/bin/sh
cd app
rm -d -r migrations/
cd ..
rm -d -r db.sqlite3
python manage.py makemigrations app
python manage.py migrate
python manage.py createsuperuser

manage.pyがあるプロジェクトフォルダに置いておけばそのまま動きます。
コンソールから

bash dbreset.sh

でどうぞ!

78
64
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
78
64

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?