Django 迁移没有迁移 authtoken 和会话

     2023-02-24     11

关键词:

【中文标题】Django 迁移没有迁移 authtoken 和会话【英文标题】:Django migration didn't migrate authtoken and sessions 【发布时间】:2019-12-24 19:29:57 【问题描述】:

在运行 python manage.py migrate 时,并非所有迁移都运行,特别是 django_celery_resultsauthtokensessions。这导致与应用程序相关的迁移出错。

但是,如果我首先手动迁移这三个,然后专门迁移 auth(不知道为什么我需要再次迁移它),然后执行 python manage.py migrate,它会起作用。

Django上安装的应用是这样的:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'rest_framework.authtoken',
    'django_celery_results',
    'celery.contrib.testing.tasks',
    'api_app'
]

我想知道为什么会这样,我认为migrate 将运行“要执行的操作”中列出的所有迁移。

【问题讨论】:

相关问题在这里:***.com/questions/38982290/… 请不要发布截图错误。复制并粘贴文本。 如果api_app 的迁移没有首先失败,它将运行authtokensessions 的迁移。如果您的 api_app 依赖于 authtokensessions 迁移,那么您应该将该依赖添加到您的第一个迁移中,以便 django 知道它应该首先运行哪些。改变你的依赖。否则,如您所见,对于两个不相关的应用程序,它将按字母顺序运行迁移。 admin__0001 依赖于 auth__0001,这就是为什么它首先运行那个(但还不是另一个 auth 迁移)。 【参考方案1】:

您的api_app.0002 迁移会在未设置last_login 的情况下创建用户。因此,此迁移必须在允许此列中为空的 auth 0005 迁移之后运行。

如果您在迁移中添加dependency,那么 Django 会以正确的顺序运行它们。

class Migration(migrations.Migration):

    dependencies = [('auth', '0005_alter_user_last_login_null')]

【讨论】:

没有数据库迁移和同步数据库的 Django 测试用例

】没有数据库迁移和同步数据库的Django测试用例【英文标题】:Djangotestcasewithoutdatabasemigrationsandsyncdb【发布时间】:2015-12-0608:33:51【问题描述】:我正在尝试为我的迁移函数创建测试用例(使用migrations.RunPython调用)。我的想法... 查看详情

django迁移问题

...迁移脚本需要执行:他会将代码中的迁移脚本和数据库中django_migrations中的迁移脚本进行对比,如果发现数据库中,没有这个迁移脚本,那么就会执行这个迁移脚本。面试题2:migrate做了什么事情:将相关的迁移脚本翻译成SQL语... 查看详情

为还没有任何迁移的 Django 项目创建迁移

】为还没有任何迁移的Django项目创建迁移【英文标题】:CreatingmigrationsforaDjangoprojectthatdoesnothaveanymigrationsalready【发布时间】:2022-01-1002:41:06【问题描述】:我正在为一个有13年历史的Django项目的客户工作。他们在构建项目时没有... 查看详情

带有 2 个数据库的 Django 迁移?

】带有2个数据库的Django迁移?【英文标题】:Djangomigrationwith2DBs?【发布时间】:2021-08-3013:29:00【问题描述】:我有数据库db1和db2。应该使用相同的迁移脚本创建两个DB的模式。Django文档提到了DATABASE_ROUTERS和RunPython,但到目前为... 查看详情

南迁移和 django 迁移有啥区别?

】南迁移和django迁移有啥区别?【英文标题】:Whatisthedifferencebetweensouthmigrationsanddjangomigrations?南迁移和django迁移有什么区别?【发布时间】:2019-02-1422:54:24【问题描述】:谁能解释一下南迁移和django迁移之间的区别?一个人比... 查看详情

django:应用程序 x 中的迁移 x 没有迁移类

】django:应用程序x中的迁移x没有迁移类【英文标题】:django:migrationxinappxhasnoMigrationclass【发布时间】:2016-03-1703:14:04【问题描述】:这是确切的错误django.db.migrations.loader.BadMigrationError:Migration0001_initialinappdjango_commentshasnoMigrationcl... 查看详情

重置长时间的 Django 迁移

】重置长时间的Django迁移【英文标题】:ResetlongDjangomigrations【发布时间】:2016-11-1104:30:28【问题描述】:随着项目的发展,迁移(makemigrations和migrate)都需要越来越长的时间,每次部署都会延迟很多。Django让您转到squashthem,因此... 查看详情

django迁移脚本

...有问题,那么会将相关的迁移脚本的名字记录到数据库中django_migrations表中migrate怎么判断哪些迁移脚本需要执行?migrate会将代码中的迁移脚本和数据库中的迁移脚本 查看详情

在 Django 中处理生产迁移和开发迁移

】在Django中处理生产迁移和开发迁移【英文标题】:HandleProductionMigrationsandDevelopmentMigrationsinDjango【发布时间】:2021-08-3013:27:39【问题描述】:在开发Django项目时,您的所有迁移都存储在每个应用程序文件夹中,但是,在生产中... 查看详情

有没有一种简单的方法可以将 Django 的模型和迁移链与 db 验证一致性进行比较?

】有没有一种简单的方法可以将Django的模型和迁移链与db验证一致性进行比较?【英文标题】:IsthereaneasywaytocompareDjango\'smodelsandmigrationchainagainstthedbverifyconsistency?【发布时间】:2015-03-2305:10:19【问题描述】:随着时间的推移,我... 查看详情

AttributeError: 'MigrationLoader' 对象没有属性 'items' django 迁移错误

】AttributeError:\\\'MigrationLoader\\\'对象没有属性\\\'items\\\'django迁移错误【英文标题】:AttributeError:\'MigrationLoader\'objecthasnoattribute\'items\'djangomigrationerrorAttributeError:\'MigrationLoader\'对象没有属性\'items\'django迁移错误【发布 查看详情

第二个模型的 Django 迁移

】第二个模型的Django迁移【英文标题】:Djangomigrationsforsecondmodel【发布时间】:2019-11-2908:01:35【问题描述】:Django不响应迁移到新应用中的模型。我删除了应用程序,然后创建了一个新应用程序,但仍然没有响应。我删除了旧的... 查看详情

Django 迁移:django.db.utils.OperationalError:(1364,“字段'名称'没有默认值”)

】Django迁移:django.db.utils.OperationalError:(1364,“字段\\\'名称\\\'没有默认值”)【英文标题】:Djangomigrate:django.db.utils.OperationalError:(1364,"Field\'name\'doesn\'thaveadefaultvalue")Django迁移:django.db.utils.OperationalErro 查看详情

django迁移过后没有数据库

参考技术Adjango迁移过后没有数据库可以:修改数据库中相应表的字符集。修改整个数据库的字符集。修改mysql配置文件/etc/my.cnf.d/server.cnf,重启数据库。 查看详情

Django迁移错误地应用

】Django迁移错误地应用【英文标题】:Djangomigrationswronglyapplying【发布时间】:2021-02-0623:31:45【问题描述】:基本问题我正在开发一个django项目,我在其中使用多个数据库和一个自定义路由器。因此,django应该知道哪个数据库用... 查看详情

使用南(django)和 MySQL 进行模式迁移

】使用南(django)和MySQL进行模式迁移【英文标题】:Schemamigrationwithsouth(django)andMySQL【发布时间】:2011-12-0706:25:12【问题描述】:我只是在浏览一个关于django的教程,并且我遵循了每一步,但每次尝试迁移时仍然出现此错误:初... 查看详情

Django 迁移错误:字段“名称”没有默认值

】Django迁移错误:字段“名称”没有默认值【英文标题】:Djangomigrationerror:Field\'name\'doesn\'thaveadefaultvalue【发布时间】:2019-07-2704:36:18【问题描述】:我有一个最近从1.4.5升级到1.11.16的Django应用程序。它在旧版本的debianlinux上运... 查看详情

django系列12:django模型关系

迁移分两步实现生成迁移文件执行迁移文件迁移文件的生成根据models文件生成对应的迁移文件根据models和已有迁移文件差别生成新的迁移文件执行迁移文件先去迁移记录查找,哪些文件未迁移过app_label+迁移文件名字执行未迁移... 查看详情