diff options
| -rw-r--r-- | brevisurl/backends/local.py | 3 | ||||
| -rw-r--r-- | brevisurl/migrations/0002_auto__add_index_shorturl_original_url.py | 32 | 
2 files changed, 34 insertions, 1 deletions
| diff --git a/brevisurl/backends/local.py b/brevisurl/backends/local.py index 5d2d4d7..34d2d83 100644 --- a/brevisurl/backends/local.py +++ b/brevisurl/backends/local.py @@ -2,10 +2,10 @@ import math  import random  import logging -from django.db import IntegrityError, transaction  from django.contrib.sites.models import Site  from django.core.exceptions import ValidationError  from django.core.urlresolvers import reverse +from django.db import IntegrityError, transaction  import brevisurl.settings  from brevisurl import Error @@ -65,6 +65,7 @@ class BrevisUrlBackend(BaseBrevisUrlBackend):                                                              original_url=original_url,                                                              shortened_url=shortened_url)                          log.info('Url "%s" shortened to "%s"', original_url, shortened_url) +                        transaction.savepoint_commit()                          return short_url                      except (IntegrityError, ValidationError) as e:                          transaction.savepoint_rollback(sid) diff --git a/brevisurl/migrations/0002_auto__add_index_shorturl_original_url.py b/brevisurl/migrations/0002_auto__add_index_shorturl_original_url.py new file mode 100644 index 0000000..5e5811d --- /dev/null +++ b/brevisurl/migrations/0002_auto__add_index_shorturl_original_url.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + +    def forwards(self, orm): +        # Adding index on 'ShortUrl', fields ['original_url'] +        db.create_index('brevisurl_shorturl', ['original_url']) + + +    def backwards(self, orm): +        # Removing index on 'ShortUrl', fields ['original_url'] +        db.delete_index('brevisurl_shorturl', ['original_url']) + + +    models = { +        'brevisurl.shorturl': { +            'Meta': {'ordering': "['-created']", 'unique_together': "(('original_url_hash', 'backend'),)", 'object_name': 'ShortUrl'}, +            'backend': ('django.db.models.fields.CharField', [], {'max_length': '200'}), +            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'original_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'db_index': 'True'}), +            'original_url_hash': ('django.db.models.fields.CharField', [], {'max_length': '64'}), +            'shortened_url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '200'}) +        } +    } + +    complete_apps = ['brevisurl']
\ No newline at end of file | 
