我有一个Django模型,我想db_index=True在创建表后添加一个字段.
我发现Django没有创建迁移,因此没有创建索引.如果该表不存在且首次创建,则Django会创建索引.
我读过Django:db_index和makemigrations,但我想知道手动创建迁移文件是否是个好主意?
我正在使用MySQL.Django最佳实践是什么?
是.它是完全可以接受的,并且(有时)甚至是最好的做法,为此使用手写迁移.甚至还有一个特殊的命令可以为这些类型的问题创建空白迁移.
python manage.py makemigrations --empty --name create_table_index
Run Code Online (Sandbox Code Playgroud)
并按照链接中发布的示例进行编辑:
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
]
Run Code Online (Sandbox Code Playgroud)
对于对您的应用程序至关重要的表,某些操作团队更喜欢手动添加索引,以便您可以更好地控制创建索引对应用程序产生影响的时间.但这通常是团队偏好的问题
| 归档时间: |
|
| 查看次数: |
3073 次 |
| 最近记录: |