i意外地删除了db.sqlite中模型的表(手动)我怎样才能重现它?

wj8zmpe1  于 2021-07-14  发布在  Java
关注(0)|答案(2)|浏览(379)

我无意中删除了db.sqlite中一个模型的表。我怎样才能重现它?当我运行命令“python manage.py makemigrations”时,它可以工作,但当我运行“python manage.py migrate”时,它会说“没有要应用的迁移”

3lxsmp7m

3lxsmp7m1#

找出哪个应用程序和迁移最初创建了表。例如,如果创建表的模型位于名为 users 在初始迁移#0001中,可以运行以下命令转储创建表的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

祝你恢复好运!

7lrncoxx

7lrncoxx2#

删除迁移文件并重新运行 python manage.py makemigrations

相关问题