如何解决我不小心删除了 db.sqlite 中模型的表手动我怎样才能重新创建它?
我不小心删除了 db.sqlite 中的模型表。 如何重新创建它? 当我运行命令“python manage.py makemigrations”时,它可以工作,但是当我运行“python manage.py migrate”时,它显示“没有要应用的迁移”
解决方法
找出最初创建表的应用程序和迁移。例如,如果创建表的模型在初始迁移 #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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。