gpt4 book ai didi

Django:将 db_index 添加到现有表

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:31 24 4
gpt4 key购买 nike

我有一个 Django 模型,我想在创建表后将 db_index=True 添加到字段。

我发现 Django 不会创建迁移,因此不会创建索引。如果表不存在并且是第一次创建,Django 会创建索引。

我读过 Django : db_index and makemigrations ,但我想知道手动创建迁移文件是否是个好主意?

我正在使用 MySQL。 Django 在这方面的最佳实践是什么?

最佳答案

是的。为此使用手写迁移是完全可以接受的,并且(有时)甚至是最佳实践。甚至有一个特殊的命令可以为这些类型的问题创建空白迁移。

python manage.py makemigrations --empty --name create_table_index 

然后像在您的链接中发布的示例一样编辑它:

class Migration(migrations.Migration):

dependencies = [
('your_app', '0001_initial'), # or last mig
]

operations = [
migrations.RunSQL("CREATE INDEX idx_column ON my_table (my_column)"),
# this format should also work for mysql
]

对于对您的应用程序至关重要的表,一些运营团队更喜欢手动添加索引,这样您就可以更好地控制创建索引对应用程序产生影响的时间。但这通常是团队偏好的问题

关于Django:将 db_index 添加到现有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496690/

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