重新初始化django项目的db.sqlite3数据库
一、Linux/Unix
-
删除旧的 db.sqlite3 文件:在终端中进入 Django 项目的根目录,使用 rm 命令删除旧的 db.sqlite3 文件,命令如下:
rm db.sqlite3
-
删除所有迁移文件:在终端中进入 Django 项目的根目录,使用 find 和 rm 命令删除所有应用中的迁移文件,命令如下:
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete
-
清除数据库中的迁移记录:在终端中进入 Django 项目的根目录,运行以下命令:
python manage.py migrate --fake
这个命令会将数据库中的迁移记录标记为已经执行过,但不会执行任何操作。
-
创建新的数据库表结构:在终端中进入 Django 项目的根目录,运行以下命令:
python manage.py migrate
这个命令会根据应用中的 models.py 文件,创建新的数据库表结构。
-
(可选)创建超级用户:在终端中进入 Django 项目的根目录,运行以下命令:
python manage.py createsuperuser ```这个命令会提示您输入用户名、邮箱和密码,用于创建一个超级用户,用于登录 Django 的后台管理界面。
这样, Django 项目的 SQLite3 数据库就被重新初始化了。请注意,这些操作会永久删除数据库中的所有数据,因此请谨慎操作。
二、windows
-
删除旧的 db.sqlite3 文件:在终端中进入 Django 项目的根目录,使用 del 命令删除旧的 db.sqlite3 文件,命令如下:
del db.sqlite3
-
删除所有迁移文件:在终端中进入 Django 项目的根目录,使用 del 命令删除所有应用中的迁移文件,(用命令行的管理员权限执行)命令如下:
del /s /q <path>\*.py del /s /ql <path>\?!(__init__).py
注意,这将删除您的所有迁移文件,包括 init.py。如果您需要保留 init.py 文件,请使用后一个命令,其中 ?!(init) 是一个负向先行断言,用于匹配不包含 init.py 的文件。
-
清除数据库中的迁移记录:在终端中进入 Django 项目的根目录,运行以下命令:
python manage.py migrate --fake
这个命令会将数据库中的迁移记录标记为已经执行过,但不会执行任何操作。
-
创建新的数据库表结构:在终端中进入 Django 项目的根目录,运行以下命令:
python manage.py migrate
这个命令会根据应用中的 models.py 文件,创建新的数据库表结构。
-
(可选)创建超级用户:在终端中进入 Django 项目的根目录,运行以下命令:
python manage.py createsuperuser ```这个命令会提示您输入用户名、邮箱和密码,用于创建一个超级用户,用于登录 Django 的后台管理界面。
这样, Django 项目的 SQLite3 数据库就被重新初始化了。请注意,这些操作会永久删除数据库中的所有数据,因此请谨慎操作。