迁后的Django南迁始于initi

2024-09-29 21:31:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在banks应用程序runpython中为我的模型添加了字段管理.py模式迁移库——自动生成正确的迁移,但迁移之后,不知道为什么南方从最初的迁移开始。你知道吗

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

同样的错误,我的问题是:为什么?你知道吗

我在想最近加了首字母_数据.json对我的应用程序可以导致这一点,但重命名后没有任何变化。你们有人有同样的情况吗?谢谢你的帮助。你知道吗


Tags: thepyadd应用程序fieldautomanagenot
1条回答
网友
1楼 · 发布于 2024-09-29 21:31:27

假设您使用的是South 0.8左右和Django 1.6或更低:

如果不了解更多关于数据库历史和South使用的信息,我无法解释为什么会发生这种情况,但是为了帮助诊断这个问题,您可以手动检查数据库中的South migration history表。你知道吗

然而,不管你发现了什么,补救方法可能都是一样的:你可以“伪造”迁移并跳到迁移历史中正确的地方。你知道吗

试试python manage.py migrate banks 0037 fake。这将把您带到0038迁移之前,而不实际尝试创建表。当然,这假设0037是最近成功应用于数据库的迁移。你知道吗

相关问题 更多 >

    热门问题