From 2ec939e595d5fa65113bc26131b90fb31f615e30 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 5 Jul 2017 15:43:27 -0400 Subject: [PATCH] Index the document checksum field for faster searches by checksum. Signed-off-by: Roberto Rosario --- docs/releases/2.5.rst | 1 + .../migrations/0038_auto_20170705_1942.py | 23 +++++++++++++++++++ mayan/apps/documents/models.py | 3 ++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 mayan/apps/documents/migrations/0038_auto_20170705_1942.py diff --git a/docs/releases/2.5.rst b/docs/releases/2.5.rst index fb9ede3c38..e146137e13 100644 --- a/docs/releases/2.5.rst +++ b/docs/releases/2.5.rst @@ -53,6 +53,7 @@ Other Changes document types from either the metadata type list or document type list. GitLab issue #373. - Add support to search documents by their checksums. +- The document checksum field is now indexed for faster searches by checksum. Removals -------- diff --git a/mayan/apps/documents/migrations/0038_auto_20170705_1942.py b/mayan/apps/documents/migrations/0038_auto_20170705_1942.py new file mode 100644 index 0000000000..6228720317 --- /dev/null +++ b/mayan/apps/documents/migrations/0038_auto_20170705_1942.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2017-07-05 19:42 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('documents', '0037_auto_20161231_0617'), + ] + + operations = [ + migrations.AlterField( + model_name='documentversion', + name='checksum', + field=models.TextField( + blank=True, db_index=True, editable=False, null=True, + verbose_name='Checksum' + ), + ), + ] diff --git a/mayan/apps/documents/models.py b/mayan/apps/documents/models.py index f3ba543f28..638d8192f2 100644 --- a/mayan/apps/documents/models.py +++ b/mayan/apps/documents/models.py @@ -383,7 +383,8 @@ class DocumentVersion(models.Model): blank=True, editable=False, max_length=64, null=True ) checksum = models.TextField( - blank=True, editable=False, null=True, verbose_name=_('Checksum') + blank=True, db_index=True, editable=False, null=True, + verbose_name=_('Checksum') ) def __str__(self):