gpt4 book ai didi

python - South 不会为现有应用程序生成或应用迁移,更改要迁移

转载 作者:太空狗 更新时间:2023-10-29 20:46:23 26 4
gpt4 key购买 nike

我使用 South 来生成和应用迁移,而不是自己管理。不幸的是,South 拒绝实际任何事情。抄录如下:

[graffias:~/testing.tustincommercial.com/oneclickcos]$ python ./manage.py schemamigration mainapp --auto
You cannot use --auto on an app with no migrations. Try --initial.
[graffias:~/testing.tustincommercial.com/oneclickcos]$ python ./manage.py schemamigration mainapp --initial
+ Added model mainapp.CompanyUK
+ Added model mainapp.CompanyName
+ Added model mainapp.Individual
+ Added model mainapp.Director
+ Added model mainapp.DirectorsIndividual
+ Added model mainapp.DirectorsCorporate
+ Added model mainapp.ShareCapitalClass
+ Added model mainapp.Member
+ Added model mainapp.MembersIndividual
+ Added model mainapp.MemberGeneric
+ Added model mainapp.CompanyManager
+ Added model mainapp.PendingRegistration
+ Added model mainapp.PendingAuthorisation
Created 0001_initial.py. You can now apply this migration with: ./manage.py migrate mainapp
[graffias:~/testing.tustincommercial.com/oneclickcos]$ python ./manage.py migrate mainapp
Running migrations for mainapp:
- Nothing to migrate.
- Loading initial data for mainapp.
No fixtures found.
[graffias:~/testing.tustincommercial.com/oneclickcos]$

如您所见,South 认为无事可做。然而,后三个模型是全新的,并且在数据库中没有表。

除了切换数据库以使 South 再次工作之外,我还能做些什么吗?

我无意为项目的其余部分手动编写迁移,但如果有帮助,我会编写一个迁移。

最佳答案

我猜你是因为没有从 ./manage.py convert_to_south mainapp 开始而惹上了麻烦。也许您可以通过以下方式纠正此问题:

(1) 让南方相信你没有执行第一次迁移,所以归零

./manage.py migrate --fake mainapp zero

(2) Migrate for real 到第一次迁移。

./manage.py migrate mainapp

但是对于我能回答的问题,您的数据库中已经有一些没有 South 的模型,否则您不必使用 --initial。如果是这样,它可能会提示列已经存在。

您可以通过以下方式改变这种情况:

(1) 通过删除 mainapp/migrations/0001_initial.py 消除第一个 schemamigration。您不需要直接摆弄 South 数据库表,--delete-ghost-migrations 会处理这件事。

(2) ./manage.py syncdb South 希望数据库与模型同步。

(3) ./manage.py convert_to_south mainapp 实际让 South 处理数据库和迁移。

(4) ./manage.py migrate --delete-ghost-migrations mainapp 移动到第一个迁移并从数据库中删除您从 migrations/中删除的旧的第一个迁移

关于python - South 不会为现有应用程序生成或应用迁移,更改要迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7300316/

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