gpt4 book ai didi

python - 迁移后的 Django South 迁移从初始开始

转载 作者:行者123 更新时间:2023-12-01 05:09:19 25 4
gpt4 key购买 nike

我在银行应用程序中的模型中添加了字段,运行 python manage.py schemamigrationbanks --auto 生成正确的迁移,但迁移后,不知道为什么 South 从初始迁移开始。

python manage.py migrate banks
Running migrations for banks:
- Migrating forwards to 0038_auto__add_field_offer_description.
> banks:0001_initial
FATAL ERROR - The following SQL query failed: CREATE TABLE `banks_lendingtarget` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `name` varchar(255) NOT NULL UNIQUE)
The error was: (1050, "Table 'banks_lendingtarget' already exists")

即使我开始使用指定的迁移名称进行迁移,例如:

python manage.py migrate banks 0038_auto__add_field_offer_description

有同样的错误,我的问题是:为什么?

我认为最近向我的应用程序添加了initial_data.json 可能会导致此问题,但重命名后没有任何变化。你们有人有同样的情况吗?感谢您的帮助。

最佳答案

假设您使用的是 South 0.8 左右以及 Django 1.6 或更低版本:

如果不了解有关数据库历史记录和 South 使用情况的更多信息,我无法解释为什么会发生这种情况,但为了帮助诊断问题,您可以手动检查数据库中的 South 迁移历史表。

但是,无论您发现什么,补救措施可能都是相同的:您可以“伪造”迁移并跳到迁移历史记录中的正确位置。

尝试python manage.py migratebanks 0037 --fake。这将带您进入 0038 迁移之前,而无需实际尝试创建表。当然,这假设 0037 是成功应用于您的数据库的最新迁移。

关于python - 迁移后的 Django South 迁移从初始开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24515430/

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