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 |
