gpt4 book ai didi

database - Django - 是否可以删除 Django 生成的数据库索引?

转载 作者:搜寻专家 更新时间:2023-10-30 20:45:43 25 4
gpt4 key购买 nike

AFAIK django 在数据库中为您创建索引(我使用 MySQL)。由于这些索引阻止我在执行南迁移时更改列名,因此我想删除这些索引。

手动删除django索引合法吗?
django 会重新创建它们吗?

最佳答案

我猜你正在改变 unique_together 约束,它作为索引存储在 mysql 中。

而且,如果您动态删除它,django 不会创建它。

如果您手动删除它,您还需要手动创建相关的。

可以看到应该创建的,通过./manage.py sqlall appname

更新(根据您的评论):

乔纳森,你是说你正在尝试迁移。

所以,我猜你已经更改了模型,并且数据库中存在的索引是在模型的较早状态下生成的索引,在该状态下执行了 syncdb;

另请注意,mysql 将 unique_together 约束存储为索引,因此即使您(或本例中的 django)无需显式请求它,它也会添加相关索引。

关于database - Django - 是否可以删除 Django 生成的数据库索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236945/

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