【Django】データベースのリセット&db.sqlite3が削除できないときの対処法
どうも。へんじにゃ@hengin_blogです。
Djangoでエラーが治りそうに無く、データベースをリセットしたいときの手順と、なかなかデータベースが削除できなかったときの対処法を書いていきます。
データベースをリセットしたい
データベースをリセットするには以下のようにしていくと良いです
これらが一連の流れです。
リセットしたい(コマンド)
cd [app名] rm -d -r migrations/
cd [project名] rm -d -r db.sqlite3
これでmigrationsファイルの中身とデータベースの消去が出来ました!
ちなみに[]で囲っている部分は任意の名前を入力してください。
次に再マイグレーションしていきます。
python manage.py makemigrations [app名]
python manage.py migrate
これで再マイグレーションは完了しましたので、次に管理ユーザーを作成します。
データベースを吹き飛ばしたため、管理ユーザーのデータも無くなっているためです。
python manage.py createsuperuser
この後は任意のユーザー名と必要であればメールアドレス、そしてパスワードを忘れないように気をつけて下さい!
db.sqlite3(データベース)が削除できない
手順のようにスムーズに行けば良いのですが、私の場合、db.sqlite3を削除しようとするとエラーが表示されて苦しんだので、そのような方には以下の点をチェックして頂きたいです。
「runserverしっぱなしの状態でないか?」
詳しくは存じ上げませんが、runserverを終了した後に削除するとスムーズにできたので、恐らくデータベースを使用している間の削除はできないものかと思われます。
取り敢えず、データベースが削除できない場合にローカルサーバーを終了してみて下さい!!
まとめ
結局データベースがなかなか削除できなかった理由は分かりませんでしたが、解決できたのでヨシ!!
Django以前の知識が少ないせいか、なかなか上手くいきませんが、なんやかんやDjangoは面白いので、大量のエラーにめげずにがんばろっかな。
参考になったら読者登録よろしくお願いいたします!!
読者登録返しします!!