gpt4 book ai didi

Django South - 无法重置应用程序迁移

转载 作者:行者123 更新时间:2023-11-29 12:46:40 29 4
gpt4 key购买 nike

我正在尝试重置我的南迁移历史,但无法为 myapp 运行迁移。我的 settings.py 是:

...
'south',
'myapp',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'payments',

不幸的是,我尝试过的方法对我不起作用:

  1. 删除/rm 所有现有的迁移文件
  2. 注释掉除南方以外的所有内容
  3. 运行初始同步数据库
  4. 为每个应用程序运行 ./manage.py schemamigration app_name --initial
  5. 然后一个一个地迁移应用

此过程适用于除 myapp 之外的所有内容。当我尝试为 myapp 进行初始迁移时,我得到:

hostMigrations: 
! These migrations are in the database but not on disk:
<myapp: 0002_..._>
! I'm not trusting myself; either fix this yourself by fiddling
! with the south_migrationhistory table, or pass --delete-ghost-migrations
! to South to have it delete ALL of these records (this may not be good).

如果我通过 --delete-ghost-migrations 然后它告诉我没有任何东西可以为我的应用程序迁移,这显然不是这种情况。当我 --fake 0002 它告诉我在 0002 之后没有其他可以迁移的东西。还有另一种方法可以解决这个问题吗?

最佳答案

要完全删除您的迁移历史记录,您需要删除它在数据库中的表中的每一行。

转到您的数据库并删除 south_migrationhistory 表中的所有行:

delete from south_migrationhistory;

或者如果您只想重置特定应用的历史记录,您可以执行以下操作:

delete from south_migrationhistory where app_name='your_app_name';

希望这对您有所帮助!

关于Django South - 无法重置应用程序迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17322431/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com