【发布时间】:2021-07-20 18:19:48
【问题描述】:
我不小心删除了 db.sqlite 中的模型表。 如何重新创建它? 当我运行命令“python manage.py makemigrations”时它可以工作,但是当我运行“python manage.py migrate”时它说“没有要应用的迁移”
【问题讨论】:
标签: python python-3.x django django-models django-migrations
我不小心删除了 db.sqlite 中的模型表。 如何重新创建它? 当我运行命令“python manage.py makemigrations”时它可以工作,但是当我运行“python manage.py migrate”时它说“没有要应用的迁移”
【问题讨论】:
标签: python python-3.x django django-models django-migrations
找出最初创建该表的应用程序和迁移。例如,如果创建表的模型在初始迁移 #0001 中名为 users 的应用程序中,您可以运行以下命令转储创建表的 SQL:
$ python manage.py sqlmigrate users 0001
BEGIN;
--
-- Create model User
--
CREATE TABLE "users_user" ("id" serial NOT NULL PRIMARY KEY, "password" varchar(128) NOT NULL, "last_login" timestamp with time zone NOT NULL, "is_superuser" boolean NOT NULL, "username" varchar(30) NOT NULL UNIQUE, "first_name" varchar(30) NOT NULL, "last_name" varchar(30) NOT NULL, "email" varchar(75) NOT NULL, "is_staff" boolean NOT NULL, "is_active" boolean NOT NULL, "date_joined" timestamp with time zone NOT NULL, "subscriber_code" varchar(255) NOT NULL);
CREATE INDEX "users_user_username_06e46fe6_like" ON "users_user" ("username" varchar_pattern_ops);
COMMIT;
之后,您可以在 SQLite 中打开一个数据库 shell,并通过复制和粘贴的方式运行 SQL:
python manage.py dbshell
祝您恢复顺利!
【讨论】:
删除迁移文件并重新运行python manage.py makemigrations
【讨论】: