Commit d8a1c32e881939b8ec84950985d98e65a9a1922b

Authored by Sergio Oliveira
2 parents feee6fe6 d323564f

Merge branch 'master' of github.com:TracyWebTech/colab

src/proxy/migrations/0002_add_key_to_revision_view.py 0 → 100644
... ... @@ -0,0 +1,90 @@
  1 +# -*- coding: utf-8 -*-
  2 +import datetime
  3 +from django.db import connections
  4 +from south.db import db
  5 +from south.v2 import DataMigration
  6 +from django.db import models
  7 +
  8 +class Migration(DataMigration):
  9 +
  10 + def forwards(self, orm):
  11 + # Selecting trac database
  12 + connection = connections['trac']
  13 +
  14 + cursor = connection.cursor()
  15 + cursor.execute('''
  16 + CREATE OR REPLACE VIEW revision_view AS SELECT
  17 + revision.rev,
  18 + revision.author,
  19 + revision.message,
  20 + repository.value AS repository_name,
  21 + TIMESTAMP WITH TIME ZONE 'epoch' + (revision.time/1000000) * INTERVAL '1s' AS created,
  22 + CONCAT(revision.repos, '-', revision.rev) AS key
  23 + FROM revision
  24 + INNER JOIN repository ON(
  25 + repository.id = revision.repos
  26 + AND repository.name = 'name'
  27 + AND repository.value != ''
  28 + );
  29 + ''')
  30 +
  31 + def backwards(self, orm):
  32 + # Selecting trac database
  33 + connection = connections['trac']
  34 +
  35 + cursor = connection.cursor()
  36 + cursor.execute('''
  37 + CREATE OR REPLACE VIEW revision_view AS SELECT
  38 + revision.rev,
  39 + revision.author,
  40 + revision.message,
  41 + repository.value AS repository_name,
  42 + TIMESTAMP WITH TIME ZONE 'epoch' + (revision.time/1000000) * INTERVAL '1s' AS created
  43 + FROM revision
  44 + INNER JOIN repository ON(
  45 + repository.id = revision.repos
  46 + AND repository.name = 'name'
  47 + AND repository.value != ''
  48 + );
  49 + ''')
  50 +
  51 + models = {
  52 + u'proxy.revision': {
  53 + 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'},
  54 + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  55 + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  56 + 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  57 + 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  58 + 'rev': ('django.db.models.fields.TextField', [], {'primary_key': 'True'})
  59 + },
  60 + u'proxy.ticket': {
  61 + 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'},
  62 + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  63 + 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  64 + 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  65 + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  66 + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  67 + 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
  68 + 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  69 + 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  70 + 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  71 + 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  72 + 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  73 + 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  74 + 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  75 + 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  76 + 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'})
  77 + },
  78 + u'proxy.wiki': {
  79 + 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'},
  80 + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  81 + 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
  82 + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  83 + 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  84 + 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}),
  85 + 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'})
  86 + }
  87 + }
  88 +
  89 + complete_apps = ['proxy']
  90 + symmetrical = True
... ...
src/proxy/models.py
... ... @@ -7,7 +7,8 @@ from hitcount.models import HitCountModelMixin
7 7  
8 8  
9 9 class Revision(models.Model, HitCountModelMixin):
10   - rev = models.TextField(blank=True, primary_key=True)
  10 + key = models.TextField(blank=True, primary_key=True)
  11 + rev = models.TextField(blank=True)
11 12 author = models.TextField(blank=True)
12 13 message = models.TextField(blank=True)
13 14 repository_name = models.TextField(blank=True)
... ...