Django migrate No changes detectedがテーブルを作成できないことを解決
3352 ワード
の原因となる
テーブル構造を修正した後、
だからデータベースに入って対応するテーブルを削除して、このテーブルを再生成したいと思っています.テーブルを削除してから実行します.
まだテーブルを生成できません.ヒント:
まず、app対応ディレクトリの下にあるデータベース対応ファイルとキャッシュファイルを削除しました.
再実行:
データベースにアクセスしてもテーブルは生成されません.
そしてdjango_が1枚見つかりましたmigrationsテーブルでは、テーブルの作成に関するレコードを記録し、対応するデータテーブルを削除します.
データベースの生成コマンドを再実行するには、次の手順に従います.
データテーブルは順調に生成する.
結論
python 3 manageを実行します.py makemigrations python3 manage.py migrate操作の場合、0001_が作成されるだけでなくinitial.py対応のモデルスクリプトは、データベースレコードで作成されたモデルも作成します.データベースを再生成するには、両方を削除する必要があります.
テーブル構造を修正した後、
python3 manage.py migrate
エラーを報告します.django.db.utils.OperationalError: (1091, "Can't DROP 'email'; check that column/key exists")
だからデータベースに入って対応するテーブルを削除して、このテーブルを再生成したいと思っています.テーブルを削除してから実行します.
python3 manage.py makemigrations
python3 manage.py migrate
まだテーブルを生成できません.ヒント:
No changes detected
プロセスまず、app対応ディレクトリの下にあるデータベース対応ファイルとキャッシュファイルを削除しました.
$ rm -rf migrations/ __pycache__/
再実行:
$ python3 manage.py makemigrations
No changes detected
$~/code/django/blogproject$ python3 manage.py makemigrations comments
Migrations for 'comments':
comments/migrations/0001_initial.py
- Create model Comment
$~/code/django/blogproject$ python3 manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, blog, comments, contenttypes, sessions, users
Running migrations:
No migrations to apply.
データベースにアクセスしてもテーブルは生成されません.
そしてdjango_が1枚見つかりましたmigrationsテーブルでは、テーブルの作成に関するレコードを記録し、対応するデータテーブルを削除します.
delete from django_migrations where app='yourappname';
データベースの生成コマンドを再実行するには、次の手順に従います.
$ python3 manage.py makemigrations comments
No changes detected in app 'comments'
$~/code/django/blogproject$ python3 manage.py migrate comments
Operations to perform:
Apply all migrations: comments
Running migrations:
Applying comments.0001_initial... OK
データテーブルは順調に生成する.
結論
python 3 manageを実行します.py makemigrations python3 manage.py migrate操作の場合、0001_が作成されるだけでなくinitial.py対応のモデルスクリプトは、データベースレコードで作成されたモデルも作成します.データベースを再生成するには、両方を削除する必要があります.