django_migrations表所在的Django数据库在哪里?

问题描述 投票:0回答:2

[This question询问Django的安装位置。

[This question与表django_migrations有关。

我已经在交互式控制台中的django命令的路径下找到了,我在其中找到子目录db以及middleware

但是我不知道实际上该表django_migrations(即其中的数据)保存在哪里。

我首先想知道,因为我想知道如果丢失这些数据会发生什么。我只是在学习Django,但我不太了解这会有多少问题。

到Django位置的路径在我的主文件夹中的目录下,我将Python虚拟环境保存在该目录中,该虚拟环境的名称以“。”开头。我倾向于从备份计划中排除此类目录...

在我的项目中刚刚删除了db.sqlite3,我发现当您执行migrate时它会重新生成,并列出(在我目前的情况下)大约15个迁移操作。我对其中的一些感到非常迷惑:前10个左右似乎发生在我开始对models.py文件执行任何操作之前。是否在某处记录或说明了它们?

python django django-migrations
2个回答
1
投票

所有表都存在于您在settings.py中配置的数据库中;默认情况下,这是项目目录中的SQLite数据库。

运行migrate命令时,Django会从您已安装的所有appsINSTALLED_APPS中的settings.py)收集所有迁移。默认情况下,其中包括django.contrib.auth之类的内容,该内容定义与用户帐户相关的a bunch of migrations。这就是为您提供Django开箱即用的用户管理功能的原因。


0
投票

如果您将默认的Django设置与sqlite一起使用,则有一个文件db.sqlite3-这是您的数据库。

[当您说它正在“重新生成”时-它是通过​​迁移构建的。运行python manage.py migrate时,您会看到从已安装的django应用程序进行的大量迁移,包括一些默认应用程序的迁移,例如django.contrib.auth包含User模型。

迁移存储在<app_name>/migrations目录中。您可以签出一些默认迁移here,这是默认的auth迁移,但还有更多。

© www.soinside.com 2019 - 2024. All rights reserved.