Commit 00247e8ccbe7e6ba7294fb0bef898b2fc094cdba
1 parent
6b94127b
Exists in
master
and in
39 other branches
Adding new initial migrations and install readme
-Remove database dependency -Add detailed installation of colab and all of its tools Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
Showing
48 changed files
with
635 additions
and
5037 deletions
Show diff stats
README.rst
| ... | ... | @@ -43,6 +43,10 @@ to get results: natively in XML or JSON, PHP, Ruby and Python and then treatment |
| 43 | 43 | Installation (Development Environment) |
| 44 | 44 | ========================================== |
| 45 | 45 | |
| 46 | +A detailed installation steps can be found in: | |
| 47 | + | |
| 48 | +`Detailed full environment installation <install.rst>`_ | |
| 49 | + | |
| 46 | 50 | Here we'll cover how to setup a development environment using a Vagrant |
| 47 | 51 | virtual machine. |
| 48 | 52 | |
| ... | ... | @@ -64,7 +68,7 @@ First you will need to clone the repository: |
| 64 | 68 | |
| 65 | 69 | .. code-block:: |
| 66 | 70 | |
| 67 | - git clone git@github.com:interlegis/colab.git | |
| 71 | + git clone git@github.com:colab-community/colab.git | |
| 68 | 72 | |
| 69 | 73 | |
| 70 | 74 | *NOTE:* | ... | ... |
| ... | ... | @@ -0,0 +1,214 @@ |
| 1 | +.. -*- coding: utf-8 -*- | |
| 2 | + | |
| 3 | +.. highlight:: rest | |
| 4 | + | |
| 5 | +.. _colab_software: | |
| 6 | + | |
| 7 | +================================= | |
| 8 | +Installing a full colab environment | |
| 9 | +================================= | |
| 10 | + | |
| 11 | +This file will guide you through the installation of colab's dependencys, | |
| 12 | +external tools and its integration with colab to help you start using/working. | |
| 13 | + | |
| 14 | +The dependecys installation steps will be based of Ubuntu 13.04 but the tools, | |
| 15 | +integrations and the colab itself runs in a virtual machine so it'll be the same regardless of your system. | |
| 16 | + | |
| 17 | + | |
| 18 | +Fabric + VirtualBox + Vagrant | |
| 19 | +============== | |
| 20 | + | |
| 21 | +You can easily install fabric using pip with | |
| 22 | + | |
| 23 | +.. code-block:: | |
| 24 | + | |
| 25 | + sudo apt-get install python-pip | |
| 26 | + sudo pip install fabric | |
| 27 | + | |
| 28 | +You can also instal Virtual Box with apt-get | |
| 29 | + | |
| 30 | +.. code-block:: | |
| 31 | + | |
| 32 | + sudo apt-get install virtualbox | |
| 33 | + | |
| 34 | +Now, vagrant has an apt-get but its not supported anymore, so you'll have to manually download and install it from the site | |
| 35 | + | |
| 36 | + https://www.vagrantup.com/downloads.html | |
| 37 | + | |
| 38 | +Starting the VM and environment | |
| 39 | +=============================== | |
| 40 | + | |
| 41 | +Clone the repository to your system | |
| 42 | + | |
| 43 | +.. code-block:: | |
| 44 | + | |
| 45 | + git clone https://github.com/colab-community/colab.git | |
| 46 | + cd colab | |
| 47 | + | |
| 48 | +Create your local configuration file(we'll adjust it later) | |
| 49 | + | |
| 50 | +.. code-block:: | |
| 51 | + | |
| 52 | + cp src/colab/local_settings-dev.py src/colab/local_settings.py | |
| 53 | + | |
| 54 | +To startup the VM simple do | |
| 55 | + | |
| 56 | +.. code-block:: | |
| 57 | + | |
| 58 | + vagrant up | |
| 59 | + | |
| 60 | +*NOTE* | |
| 61 | + | |
| 62 | + In case you have problems creating the virtual machine you might need to download the linux header files | |
| 63 | + | |
| 64 | + .. code-block:: | |
| 65 | + | |
| 66 | + linux-headers-generic | |
| 67 | + | |
| 68 | +Accessing the VM and configurating the database | |
| 69 | +=============================================== | |
| 70 | + | |
| 71 | +You should now be able to access your VM through | |
| 72 | + | |
| 73 | +.. code-block:: | |
| 74 | + | |
| 75 | + vagrant ssh | |
| 76 | + | |
| 77 | +*NOTE* | |
| 78 | + | |
| 79 | + In case you get a connection port refused or ssh error, you might need to activate manually an ssh server(rare) | |
| 80 | + | |
| 81 | + .. code-block:: | |
| 82 | + | |
| 83 | + sudo apt-get install ssh; sudo service ssh start; | |
| 84 | + | |
| 85 | +The VM doesnt come with a databse so, you'll need to install one inside it. | |
| 86 | +Inside de VM download and install postgresql | |
| 87 | + | |
| 88 | +.. code-block:: | |
| 89 | + | |
| 90 | + sudo apt-get install postgresql | |
| 91 | + | |
| 92 | +Access the postgresql database and create a new database and user colab user | |
| 93 | + | |
| 94 | +.. code-block:: | |
| 95 | + | |
| 96 | + sudo -u postgres psql | |
| 97 | + CREATE USER colab SUPERUSER INHERIT CREATEDB CREATEROLE; | |
| 98 | + ALTER USER colab PASSWORD 'colab'; | |
| 99 | + CREATE DATABASE colab; | |
| 100 | + | |
| 101 | +Also, create the Trac's database(note it needs to support UTF8) | |
| 102 | + | |
| 103 | +.. code-block:: | |
| 104 | + | |
| 105 | + create database "trac_colab" with owner "colab" encoding 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE=template0; | |
| 106 | + \q | |
| 107 | + | |
| 108 | +That's the database used for Trac, but its needed so colab can make its migrations correctly and adjust solr accordinly | |
| 109 | + | |
| 110 | +Installing Trac on the VM | |
| 111 | +========================= | |
| 112 | + | |
| 113 | +Inside the VM(vagrant ssh) download e install trac | |
| 114 | + | |
| 115 | +.. code-block:: | |
| 116 | + | |
| 117 | + sudo apt-get install trac | |
| 118 | + sudo pip install --upgrade Trac | |
| 119 | + | |
| 120 | +Now you'll need to configure trac so it can access the previously created database. | |
| 121 | + | |
| 122 | +.. code-block:: | |
| 123 | + | |
| 124 | + mkdir -p /var/local/trac | |
| 125 | + sudo trac-admin /var/local/trac initenv | |
| 126 | + | |
| 127 | +Set the project name to 'Colab' when asked, and the following postgresql connection string | |
| 128 | + | |
| 129 | +.. code-block:: | |
| 130 | + | |
| 131 | + postgres://colab:colab@/trac_colab?host=localhost | |
| 132 | + | |
| 133 | +The trac database should be populated with relations, now need to give trac write access to its folders | |
| 134 | + | |
| 135 | +.. code-block:: | |
| 136 | + | |
| 137 | + sudo chown -R www-data /var/local/trac | |
| 138 | + sudo chmod -R 775 /var/local/trac | |
| 139 | + | |
| 140 | +Finally, trac can be run by | |
| 141 | + | |
| 142 | +.. code-block:: | |
| 143 | + | |
| 144 | + tracd --port 5000 /var/local/trac | |
| 145 | + | |
| 146 | +Use port 8000 and access it on port 8080 in your local machine to see it works if you'd like(vagrant has port redirects) | |
| 147 | + | |
| 148 | +Setting up Colab | |
| 149 | +========================= | |
| 150 | + | |
| 151 | +You can exit the vagrant VM ('exit' inside the ssh shell) but for now leave it running Trac and start a new terminal tab | |
| 152 | + | |
| 153 | +Open the /src/colab/local_settings.py file | |
| 154 | + | |
| 155 | +Change COLAB_TRAC_URL to | |
| 156 | + | |
| 157 | +.. code-block:: | |
| 158 | + | |
| 159 | + COLAB_TRAC_URL = 'http://localhost:5000/trac/' | |
| 160 | + | |
| 161 | +Or the port you're using to Trac | |
| 162 | + | |
| 163 | +Use fabric at colab's root to update the requirements to your VM | |
| 164 | + | |
| 165 | +.. code-block:: | |
| 166 | + | |
| 167 | + fabric runserver:update | |
| 168 | + | |
| 169 | +*NOTE:* | |
| 170 | + | |
| 171 | + The fabric installation on ubuntu through 'pip install' might not be added to the path so you'll need to find | |
| 172 | + where it was installed if thats your case | |
| 173 | + | |
| 174 | +Now simply run fabric again to run the server (it'll also sync and migrate colab's database) | |
| 175 | + | |
| 176 | +.. code-block:: | |
| 177 | + | |
| 178 | + fabric runserver | |
| 179 | + | |
| 180 | +You should be able to see colab with its cms service already working at port 8000(because of vagrant redirects) | |
| 181 | + | |
| 182 | +*NOTE* | |
| 183 | + | |
| 184 | + In case login doesn't work, change the SITE_URL in src/colab/local_settings.py the reflect the django's port | |
| 185 | + Also, add the following line riht bellow it | |
| 186 | + BROWSERID_AUDIENCES = [SITE_URL, SITE_URL.replace('https', 'http')] | |
| 187 | + | |
| 188 | +Installing Solr and indexing colab's schemas | |
| 189 | +========================================== | |
| 190 | +In Progress of making it readable | |
| 191 | + #http servlet jetty | |
| 192 | + sudo apt-get install jetty | |
| 193 | + | |
| 194 | + #solr | |
| 195 | + wget http://ftp.unicamp.br/pub/apache/lucene/solr/4.6.1/solr-4.6.1.tgz | |
| 196 | + tar xvzf solr-4.6.1.tgz | |
| 197 | + sudo mv solr-4.6.1 /usr/share/solr | |
| 198 | + | |
| 199 | + sudo cp /usr/share/solr/example/webapps/solr.war /usr/share/solr/example/solr/solr.war | |
| 200 | + | |
| 201 | + python manage.py build_solr_schema >> schema.xml | |
| 202 | + #existe mais de uma referencia a stopwords_en | |
| 203 | + trocar no schema.xml stopwords_en.txt por lang/stopwords_en.txt | |
| 204 | + | |
| 205 | + sudo cp schema.xml /usr/share/solr/example/solr/collection1/conf | |
| 206 | + | |
| 207 | + #inclusive a tag | |
| 208 | + Remova <updateLog> em solrconfig.xml localizado em /usr/share/solr/example/solr/collection1/conf | |
| 209 | + | |
| 210 | + #executa servidor | |
| 211 | + cd /usr/share/solr/example/; java -jar start.jar; | |
| 212 | + | |
| 213 | + #indexa | |
| 214 | + python manage.py update_index | |
| 0 | 215 | \ No newline at end of file | ... | ... |
| ... | ... | @@ -0,0 +1,116 @@ |
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | +import datetime | |
| 3 | +from south.db import db | |
| 4 | +from south.v2 import SchemaMigration | |
| 5 | +from django.db import models | |
| 6 | + | |
| 7 | + | |
| 8 | +class Migration(SchemaMigration): | |
| 9 | + | |
| 10 | + def forwards(self, orm): | |
| 11 | + # Adding model 'User' | |
| 12 | + db.create_table(u'accounts_user', ( | |
| 13 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 14 | + ('password', self.gf('django.db.models.fields.CharField')(max_length=128)), | |
| 15 | + ('last_login', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), | |
| 16 | + ('is_superuser', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
| 17 | + ('username', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), | |
| 18 | + ('first_name', self.gf('django.db.models.fields.CharField')(max_length=30, blank=True)), | |
| 19 | + ('last_name', self.gf('django.db.models.fields.CharField')(max_length=30, blank=True)), | |
| 20 | + ('email', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75, blank=True)), | |
| 21 | + ('is_staff', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
| 22 | + ('is_active', self.gf('django.db.models.fields.BooleanField')(default=True)), | |
| 23 | + ('date_joined', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), | |
| 24 | + ('institution', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
| 25 | + ('role', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
| 26 | + ('twitter', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
| 27 | + ('facebook', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
| 28 | + ('google_talk', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True, blank=True)), | |
| 29 | + ('github', self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True)), | |
| 30 | + ('webpage', self.gf('django.db.models.fields.CharField')(max_length=256, null=True, blank=True)), | |
| 31 | + ('verification_hash', self.gf('django.db.models.fields.CharField')(max_length=32, null=True, blank=True)), | |
| 32 | + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), | |
| 33 | + ('bio', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
| 34 | + )) | |
| 35 | + db.send_create_signal(u'accounts', ['User']) | |
| 36 | + | |
| 37 | + # Adding M2M table for field groups on 'User' | |
| 38 | + m2m_table_name = db.shorten_name(u'accounts_user_groups') | |
| 39 | + db.create_table(m2m_table_name, ( | |
| 40 | + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), | |
| 41 | + ('user', models.ForeignKey(orm[u'accounts.user'], null=False)), | |
| 42 | + ('group', models.ForeignKey(orm[u'auth.group'], null=False)) | |
| 43 | + )) | |
| 44 | + db.create_unique(m2m_table_name, ['user_id', 'group_id']) | |
| 45 | + | |
| 46 | + # Adding M2M table for field user_permissions on 'User' | |
| 47 | + m2m_table_name = db.shorten_name(u'accounts_user_user_permissions') | |
| 48 | + db.create_table(m2m_table_name, ( | |
| 49 | + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), | |
| 50 | + ('user', models.ForeignKey(orm[u'accounts.user'], null=False)), | |
| 51 | + ('permission', models.ForeignKey(orm[u'auth.permission'], null=False)) | |
| 52 | + )) | |
| 53 | + db.create_unique(m2m_table_name, ['user_id', 'permission_id']) | |
| 54 | + | |
| 55 | + | |
| 56 | + def backwards(self, orm): | |
| 57 | + # Deleting model 'User' | |
| 58 | + db.delete_table(u'accounts_user') | |
| 59 | + | |
| 60 | + # Removing M2M table for field groups on 'User' | |
| 61 | + db.delete_table(db.shorten_name(u'accounts_user_groups')) | |
| 62 | + | |
| 63 | + # Removing M2M table for field user_permissions on 'User' | |
| 64 | + db.delete_table(db.shorten_name(u'accounts_user_user_permissions')) | |
| 65 | + | |
| 66 | + | |
| 67 | + models = { | |
| 68 | + u'accounts.user': { | |
| 69 | + 'Meta': {'object_name': 'User'}, | |
| 70 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 71 | + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 72 | + 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 73 | + 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 74 | + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 75 | + 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 76 | + 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 77 | + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 78 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 79 | + 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 80 | + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 81 | + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 82 | + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 83 | + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 84 | + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 85 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 86 | + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 87 | + 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 88 | + 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 89 | + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 90 | + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 91 | + 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 92 | + 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 93 | + }, | |
| 94 | + u'auth.group': { | |
| 95 | + 'Meta': {'object_name': 'Group'}, | |
| 96 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 98 | + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 99 | + }, | |
| 100 | + u'auth.permission': { | |
| 101 | + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 102 | + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 103 | + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 104 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 105 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 106 | + }, | |
| 107 | + u'contenttypes.contenttype': { | |
| 108 | + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 109 | + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 110 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 111 | + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 112 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 113 | + } | |
| 114 | + } | |
| 115 | + | |
| 116 | + complete_apps = ['accounts'] | |
| 0 | 117 | \ No newline at end of file | ... | ... |
src/accounts/migrations/0001_rename_auth_user_to_accounts_user.py
| ... | ... | @@ -1,59 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - db.rename_table('auth_user', 'accounts_user') | |
| 12 | - db.rename_table('auth_user_groups', 'accounts_user_groups') | |
| 13 | - db.rename_table('auth_user_user_permissions', 'accounts_user_user_permissions') | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - db.rename_table('accounts_user', 'auth_user') | |
| 17 | - db.rename_table('accounts_user_groups', 'auth_user_groups') | |
| 18 | - db.rename_table('accounts_user_user_permissions', 'auth_user_user_permissions') | |
| 19 | - | |
| 20 | - models = { | |
| 21 | - u'accounts.user': { | |
| 22 | - 'Meta': {'object_name': 'User'}, | |
| 23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 24 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 25 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 26 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 27 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 28 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 29 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 30 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 31 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 32 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 33 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 34 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 35 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 36 | - }, | |
| 37 | - u'auth.group': { | |
| 38 | - 'Meta': {'object_name': 'Group'}, | |
| 39 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 40 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 41 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 42 | - }, | |
| 43 | - u'auth.permission': { | |
| 44 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 45 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 46 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 47 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 48 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 49 | - }, | |
| 50 | - u'contenttypes.contenttype': { | |
| 51 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 52 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 54 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 56 | - } | |
| 57 | - } | |
| 58 | - | |
| 59 | - complete_apps = ['accounts'] |
src/accounts/migrations/0002_delete_sussumu_dup.py
| ... | ... | @@ -1,138 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import DataMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(DataMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - try: | |
| 11 | - sussumu = orm['accounts.User'].objects.get(username='Sussumu') | |
| 12 | - except orm['accounts.User'].DoesNotExist: | |
| 13 | - return | |
| 14 | - profile = orm['super_archives.UserProfile'].objects.get(user_id=sussumu.pk) | |
| 15 | - sussumu.delete() | |
| 16 | - profile.delete() | |
| 17 | - | |
| 18 | - def backwards(self, orm): | |
| 19 | - "Write your backwards methods here." | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - u'accounts.user': { | |
| 23 | - 'Meta': {'object_name': 'User'}, | |
| 24 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 25 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 27 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 28 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 29 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 30 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 31 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 32 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 33 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 34 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 35 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 36 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 37 | - }, | |
| 38 | - u'auth.group': { | |
| 39 | - 'Meta': {'object_name': 'Group'}, | |
| 40 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 41 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 42 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 43 | - }, | |
| 44 | - u'auth.permission': { | |
| 45 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 46 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 47 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 49 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 50 | - }, | |
| 51 | - u'contenttypes.contenttype': { | |
| 52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 57 | - }, | |
| 58 | - u'super_archives.emailaddress': { | |
| 59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
| 65 | - }, | |
| 66 | - u'super_archives.mailinglist': { | |
| 67 | - 'Meta': {'object_name': 'MailingList'}, | |
| 68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 70 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 74 | - }, | |
| 75 | - u'super_archives.mailinglistmembership': { | |
| 76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 77 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 80 | - }, | |
| 81 | - u'super_archives.message': { | |
| 82 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 85 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 87 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 88 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 92 | - }, | |
| 93 | - u'super_archives.messagemetadata': { | |
| 94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 99 | - }, | |
| 100 | - u'super_archives.pagehit': { | |
| 101 | - 'Meta': {'object_name': 'PageHit'}, | |
| 102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 103 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 105 | - }, | |
| 106 | - u'super_archives.thread': { | |
| 107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 108 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 112 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 113 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 114 | - }, | |
| 115 | - u'super_archives.userprofile': { | |
| 116 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 117 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 118 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 119 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 120 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 121 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 122 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 123 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['accounts.User']", 'unique': 'True'}), | |
| 124 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 125 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
| 126 | - }, | |
| 127 | - u'super_archives.vote': { | |
| 128 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 129 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 130 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 131 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 132 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 133 | - } | |
| 134 | - } | |
| 135 | - | |
| 136 | - complete_apps = ['accounts', 'super_archives'] | |
| 137 | - symmetrical = True | |
| 138 | - |
src/accounts/migrations/0003_auto__add_field_user_institution__add_field_user_role__add_field_user_.py
| ... | ... | @@ -1,122 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding field 'User.institution' | |
| 12 | - db.add_column(u'accounts_user', 'institution', | |
| 13 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
| 14 | - keep_default=False) | |
| 15 | - | |
| 16 | - # Adding field 'User.role' | |
| 17 | - db.add_column(u'accounts_user', 'role', | |
| 18 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
| 19 | - keep_default=False) | |
| 20 | - | |
| 21 | - # Adding field 'User.twitter' | |
| 22 | - db.add_column(u'accounts_user', 'twitter', | |
| 23 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
| 24 | - keep_default=False) | |
| 25 | - | |
| 26 | - # Adding field 'User.facebook' | |
| 27 | - db.add_column(u'accounts_user', 'facebook', | |
| 28 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True), | |
| 29 | - keep_default=False) | |
| 30 | - | |
| 31 | - # Adding field 'User.google_talk' | |
| 32 | - db.add_column(u'accounts_user', 'google_talk', | |
| 33 | - self.gf('django.db.models.fields.EmailField')(max_length=75, null=True), | |
| 34 | - keep_default=False) | |
| 35 | - | |
| 36 | - # Adding field 'User.webpage' | |
| 37 | - db.add_column(u'accounts_user', 'webpage', | |
| 38 | - self.gf('django.db.models.fields.CharField')(max_length=256, null=True), | |
| 39 | - keep_default=False) | |
| 40 | - | |
| 41 | - # Adding field 'User.verification_hash' | |
| 42 | - db.add_column(u'accounts_user', 'verification_hash', | |
| 43 | - self.gf('django.db.models.fields.CharField')(max_length=32, null=True), | |
| 44 | - keep_default=False) | |
| 45 | - | |
| 46 | - # Adding unique constraint on 'User', fields ['email'] | |
| 47 | - db.create_unique(u'accounts_user', ['email']) | |
| 48 | - | |
| 49 | - | |
| 50 | - def backwards(self, orm): | |
| 51 | - # Removing unique constraint on 'User', fields ['email'] | |
| 52 | - db.delete_unique(u'accounts_user', ['email']) | |
| 53 | - | |
| 54 | - # Deleting field 'User.institution' | |
| 55 | - db.delete_column(u'accounts_user', 'institution') | |
| 56 | - | |
| 57 | - # Deleting field 'User.role' | |
| 58 | - db.delete_column(u'accounts_user', 'role') | |
| 59 | - | |
| 60 | - # Deleting field 'User.twitter' | |
| 61 | - db.delete_column(u'accounts_user', 'twitter') | |
| 62 | - | |
| 63 | - # Deleting field 'User.facebook' | |
| 64 | - db.delete_column(u'accounts_user', 'facebook') | |
| 65 | - | |
| 66 | - # Deleting field 'User.google_talk' | |
| 67 | - db.delete_column(u'accounts_user', 'google_talk') | |
| 68 | - | |
| 69 | - # Deleting field 'User.webpage' | |
| 70 | - db.delete_column(u'accounts_user', 'webpage') | |
| 71 | - | |
| 72 | - # Deleting field 'User.verification_hash' | |
| 73 | - db.delete_column(u'accounts_user', 'verification_hash') | |
| 74 | - | |
| 75 | - | |
| 76 | - models = { | |
| 77 | - u'accounts.user': { | |
| 78 | - 'Meta': {'object_name': 'User'}, | |
| 79 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 80 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 81 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 82 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 83 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 84 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 85 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 87 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 88 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 89 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 90 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 91 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 92 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 93 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 94 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 95 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 96 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 97 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 98 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
| 99 | - }, | |
| 100 | - u'auth.group': { | |
| 101 | - 'Meta': {'object_name': 'Group'}, | |
| 102 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 103 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 104 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 105 | - }, | |
| 106 | - u'auth.permission': { | |
| 107 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 108 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 109 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 112 | - }, | |
| 113 | - u'contenttypes.contenttype': { | |
| 114 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 115 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 116 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 117 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 118 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 119 | - } | |
| 120 | - } | |
| 121 | - | |
| 122 | - complete_apps = ['accounts'] | |
| 123 | 0 | \ No newline at end of file |
src/accounts/migrations/0004_copy_profile_data.py
| ... | ... | @@ -1,81 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import DataMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(DataMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - fields = ('institution', 'role', 'twitter', 'facebook', | |
| 11 | - 'google_talk', 'webpage') | |
| 12 | - | |
| 13 | - for userprofile in orm['super_archives.UserProfile'].objects.iterator(): | |
| 14 | - user = orm['accounts.User'].objects.get(id=userprofile.user_id) | |
| 15 | - for field in fields: | |
| 16 | - setattr(user, field, getattr(userprofile, field)) | |
| 17 | - user.save() | |
| 18 | - | |
| 19 | - def backwards(self, orm): | |
| 20 | - "Write your backwards methods here." | |
| 21 | - | |
| 22 | - models = { | |
| 23 | - u'accounts.user': { | |
| 24 | - 'Meta': {'object_name': 'User'}, | |
| 25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 38 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 39 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 40 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 41 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 42 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 43 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 44 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
| 45 | - }, | |
| 46 | - u'auth.group': { | |
| 47 | - 'Meta': {'object_name': 'Group'}, | |
| 48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 49 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 50 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 51 | - }, | |
| 52 | - u'auth.permission': { | |
| 53 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 54 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 55 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 57 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 58 | - }, | |
| 59 | - u'contenttypes.contenttype': { | |
| 60 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 61 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 63 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 64 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 65 | - }, | |
| 66 | - u'super_archives.userprofile': { | |
| 67 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 68 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 69 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 70 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 72 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 73 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 74 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['accounts.User']", 'unique': 'True'}), | |
| 75 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 76 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
| 77 | - } | |
| 78 | - } | |
| 79 | - | |
| 80 | - complete_apps = ['accounts'] | |
| 81 | - symmetrical = True |
src/accounts/migrations/0005_remove_host_from_social_accounts.py
| ... | ... | @@ -1,74 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -import urlparse | |
| 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 | - for user in orm.User.objects.iterator(): | |
| 12 | - if user.twitter: | |
| 13 | - user.twitter = user.twitter.split('/')[-1] | |
| 14 | - if user.facebook: | |
| 15 | - if '?' in user.facebook: | |
| 16 | - query_string = user.facebook.split('?')[-1] | |
| 17 | - query_dict = dict(urlparse.parse_qsl(query_string)) | |
| 18 | - user.facebook = query_dict.get('id') | |
| 19 | - else: | |
| 20 | - user.facebook = user.facebook.split('/')[-1] | |
| 21 | - | |
| 22 | - user.save() | |
| 23 | - | |
| 24 | - def backwards(self, orm): | |
| 25 | - "Write your backwards methods here." | |
| 26 | - | |
| 27 | - models = { | |
| 28 | - u'accounts.user': { | |
| 29 | - 'Meta': {'object_name': 'User'}, | |
| 30 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 31 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 32 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 34 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 35 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 36 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 37 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 38 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 39 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 40 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 41 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 42 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 43 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 44 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 45 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 46 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 47 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 48 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 49 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 50 | - }, | |
| 51 | - u'auth.group': { | |
| 52 | - 'Meta': {'object_name': 'Group'}, | |
| 53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 54 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 55 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 56 | - }, | |
| 57 | - u'auth.permission': { | |
| 58 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 59 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 63 | - }, | |
| 64 | - u'contenttypes.contenttype': { | |
| 65 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 66 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 69 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 70 | - } | |
| 71 | - } | |
| 72 | - | |
| 73 | - complete_apps = ['accounts'] | |
| 74 | - symmetrical = True |
src/accounts/migrations/0006_auto__add_field_user_modified.py
| ... | ... | @@ -1,69 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -from south.db import db | |
| 3 | -from south.v2 import SchemaMigration | |
| 4 | -from django.db import models | |
| 5 | -from django.utils import timezone | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding field 'User.modified' | |
| 12 | - db.add_column(u'accounts_user', 'modified', | |
| 13 | - self.gf('django.db.models.fields.DateTimeField')(auto_now=True, default=timezone.now, blank=True), | |
| 14 | - keep_default=False) | |
| 15 | - | |
| 16 | - | |
| 17 | - def backwards(self, orm): | |
| 18 | - # Deleting field 'User.modified' | |
| 19 | - db.delete_column(u'accounts_user', 'modified') | |
| 20 | - | |
| 21 | - | |
| 22 | - models = { | |
| 23 | - u'accounts.user': { | |
| 24 | - 'Meta': {'object_name': 'User'}, | |
| 25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 38 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 39 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 40 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 41 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 43 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 44 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 45 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 46 | - }, | |
| 47 | - u'auth.group': { | |
| 48 | - 'Meta': {'object_name': 'Group'}, | |
| 49 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 50 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 51 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 52 | - }, | |
| 53 | - u'auth.permission': { | |
| 54 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 55 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 57 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 58 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 59 | - }, | |
| 60 | - u'contenttypes.contenttype': { | |
| 61 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 62 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 63 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 64 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 65 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 66 | - } | |
| 67 | - } | |
| 68 | - | |
| 69 | - complete_apps = ['accounts'] |
src/accounts/migrations/0007_remove_at_from_username.py
| ... | ... | @@ -1,69 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import DataMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(DataMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - "Write your forwards methods here." | |
| 11 | - # Note: Don't use "from appname.models import ModelName". | |
| 12 | - # Use orm.ModelName to refer to models in this application, | |
| 13 | - # and orm['appname.ModelName'] for models in other applications. | |
| 14 | - for u in orm.User.objects.filter(username__contains='@'): | |
| 15 | - u.username = u.username.split('@')[0] | |
| 16 | - u.save() | |
| 17 | - | |
| 18 | - def backwards(self, orm): | |
| 19 | - pass | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - u'accounts.user': { | |
| 23 | - 'Meta': {'object_name': 'User'}, | |
| 24 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 25 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 26 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 27 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 28 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 29 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 30 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 31 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 32 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 33 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 34 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 35 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 36 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 37 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 38 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 39 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 40 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 41 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 42 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 43 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 44 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 45 | - }, | |
| 46 | - u'auth.group': { | |
| 47 | - 'Meta': {'object_name': 'Group'}, | |
| 48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 49 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 50 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 51 | - }, | |
| 52 | - u'auth.permission': { | |
| 53 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 54 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 55 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 57 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 58 | - }, | |
| 59 | - u'contenttypes.contenttype': { | |
| 60 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 61 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 63 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 64 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 65 | - } | |
| 66 | - } | |
| 67 | - | |
| 68 | - complete_apps = ['accounts'] | |
| 69 | - symmetrical = True |
src/accounts/migrations/0008_auto__add_field_user_bio.py
| ... | ... | @@ -1,70 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding field 'User.bio' | |
| 12 | - db.add_column(u'accounts_user', 'bio', | |
| 13 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 14 | - keep_default=False) | |
| 15 | - | |
| 16 | - | |
| 17 | - def backwards(self, orm): | |
| 18 | - # Deleting field 'User.bio' | |
| 19 | - db.delete_column(u'accounts_user', 'bio') | |
| 20 | - | |
| 21 | - | |
| 22 | - models = { | |
| 23 | - u'accounts.user': { | |
| 24 | - 'Meta': {'object_name': 'User'}, | |
| 25 | - 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 26 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 27 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 28 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 29 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 30 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 31 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 32 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 34 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 35 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 36 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 37 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 38 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 39 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 40 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 41 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 43 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 44 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 45 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 46 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 47 | - }, | |
| 48 | - u'auth.group': { | |
| 49 | - 'Meta': {'object_name': 'Group'}, | |
| 50 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 51 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 52 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 53 | - }, | |
| 54 | - u'auth.permission': { | |
| 55 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 56 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 57 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 58 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 59 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 60 | - }, | |
| 61 | - u'contenttypes.contenttype': { | |
| 62 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 63 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 64 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 65 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 66 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 67 | - } | |
| 68 | - } | |
| 69 | - | |
| 70 | - complete_apps = ['accounts'] | |
| 71 | 0 | \ No newline at end of file |
src/accounts/migrations/0009_auto__add_field_user_identi_ca.py
| ... | ... | @@ -1,71 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding field 'User.identi_ca' | |
| 12 | - db.add_column(u'accounts_user', 'identi_ca', | |
| 13 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), | |
| 14 | - keep_default=False) | |
| 15 | - | |
| 16 | - | |
| 17 | - def backwards(self, orm): | |
| 18 | - # Deleting field 'User.identi_ca' | |
| 19 | - db.delete_column(u'accounts_user', 'identi_ca') | |
| 20 | - | |
| 21 | - | |
| 22 | - models = { | |
| 23 | - u'accounts.user': { | |
| 24 | - 'Meta': {'object_name': 'User'}, | |
| 25 | - 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 26 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 27 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 28 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 29 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 30 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 31 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 32 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'identi_ca': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 34 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 35 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 36 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 37 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 38 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 39 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 41 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 42 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 43 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 44 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 45 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 46 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 47 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 48 | - }, | |
| 49 | - u'auth.group': { | |
| 50 | - 'Meta': {'object_name': 'Group'}, | |
| 51 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 52 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 53 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 54 | - }, | |
| 55 | - u'auth.permission': { | |
| 56 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 57 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 58 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 60 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 61 | - }, | |
| 62 | - u'contenttypes.contenttype': { | |
| 63 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 64 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 66 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 67 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 68 | - } | |
| 69 | - } | |
| 70 | - | |
| 71 | - complete_apps = ['accounts'] | |
| 72 | 0 | \ No newline at end of file |
src/accounts/migrations/0010_auto__del_field_user_identi_ca__add_field_user_github.py
| ... | ... | @@ -1,79 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Deleting field 'User.identi_ca' | |
| 12 | - db.delete_column(u'accounts_user', 'identi_ca') | |
| 13 | - | |
| 14 | - # Adding field 'User.github' | |
| 15 | - db.add_column(u'accounts_user', 'github', | |
| 16 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), | |
| 17 | - keep_default=False) | |
| 18 | - | |
| 19 | - | |
| 20 | - def backwards(self, orm): | |
| 21 | - # Adding field 'User.identi_ca' | |
| 22 | - db.add_column(u'accounts_user', 'identi_ca', | |
| 23 | - self.gf('django.db.models.fields.CharField')(max_length=128, null=True, blank=True), | |
| 24 | - keep_default=False) | |
| 25 | - | |
| 26 | - # Deleting field 'User.github' | |
| 27 | - db.delete_column(u'accounts_user', 'github') | |
| 28 | - | |
| 29 | - | |
| 30 | - models = { | |
| 31 | - u'accounts.user': { | |
| 32 | - 'Meta': {'object_name': 'User'}, | |
| 33 | - 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 34 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 35 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 36 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 37 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 38 | - 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 39 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 41 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 42 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 43 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 44 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 45 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 46 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 47 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 48 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 49 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 50 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 51 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 52 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 53 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 54 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 55 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 56 | - }, | |
| 57 | - u'auth.group': { | |
| 58 | - 'Meta': {'object_name': 'Group'}, | |
| 59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 60 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 61 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 62 | - }, | |
| 63 | - u'auth.permission': { | |
| 64 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 65 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 66 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 69 | - }, | |
| 70 | - u'contenttypes.contenttype': { | |
| 71 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 72 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 73 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 74 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 75 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 76 | - } | |
| 77 | - } | |
| 78 | - | |
| 79 | - complete_apps = ['accounts'] | |
| 80 | 0 | \ No newline at end of file |
src/badger/migrations/0001_initial.py
| ... | ... | @@ -11,13 +11,14 @@ class Migration(SchemaMigration): |
| 11 | 11 | # Adding model 'Badge' |
| 12 | 12 | db.create_table(u'badger_badge', ( |
| 13 | 13 | (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), |
| 14 | - ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), | |
| 15 | - ('description', self.gf('django.db.models.fields.CharField')(max_length=200)), | |
| 16 | - ('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100)), | |
| 14 | + ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
| 15 | + ('description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
| 16 | + ('image_base64', self.gf('django.db.models.fields.TextField')()), | |
| 17 | 17 | ('type', self.gf('django.db.models.fields.CharField')(max_length=200)), |
| 18 | 18 | ('user_attr', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), |
| 19 | 19 | ('comparison', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), |
| 20 | 20 | ('value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(null=True, blank=True)), |
| 21 | + ('order', self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=100)), | |
| 21 | 22 | )) |
| 22 | 23 | db.send_create_signal(u'badger', ['Badge']) |
| 23 | 24 | |
| ... | ... | @@ -30,22 +31,43 @@ class Migration(SchemaMigration): |
| 30 | 31 | )) |
| 31 | 32 | db.create_unique(m2m_table_name, ['badge_id', 'user_id']) |
| 32 | 33 | |
| 34 | + # Adding model 'BadgeI18N' | |
| 35 | + db.create_table(u'badger_badgei18n', ( | |
| 36 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 37 | + ('i18n_language', self.gf('django.db.models.fields.CharField')(max_length=10)), | |
| 38 | + ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
| 39 | + ('description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
| 40 | + ('i18n_source', self.gf('django.db.models.fields.related.ForeignKey')(related_name='translations', to=orm['badger.Badge'])), | |
| 41 | + )) | |
| 42 | + db.send_create_signal(u'badger', ['BadgeI18N']) | |
| 43 | + | |
| 44 | + # Adding unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
| 45 | + db.create_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
| 46 | + | |
| 33 | 47 | |
| 34 | 48 | def backwards(self, orm): |
| 49 | + # Removing unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
| 50 | + db.delete_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
| 51 | + | |
| 35 | 52 | # Deleting model 'Badge' |
| 36 | 53 | db.delete_table(u'badger_badge') |
| 37 | 54 | |
| 38 | 55 | # Removing M2M table for field awardees on 'Badge' |
| 39 | 56 | db.delete_table(db.shorten_name(u'badger_badge_awardees')) |
| 40 | 57 | |
| 58 | + # Deleting model 'BadgeI18N' | |
| 59 | + db.delete_table(u'badger_badgei18n') | |
| 60 | + | |
| 41 | 61 | |
| 42 | 62 | models = { |
| 43 | 63 | u'accounts.user': { |
| 44 | 64 | 'Meta': {'object_name': 'User'}, |
| 65 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 45 | 66 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
| 46 | 67 | 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), |
| 47 | 68 | 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
| 48 | 69 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
| 70 | + 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 49 | 71 | 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), |
| 50 | 72 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), |
| 51 | 73 | u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
| ... | ... | @@ -55,6 +77,7 @@ class Migration(SchemaMigration): |
| 55 | 77 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
| 56 | 78 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
| 57 | 79 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
| 80 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 58 | 81 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
| 59 | 82 | 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
| 60 | 83 | 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
| ... | ... | @@ -77,17 +100,26 @@ class Migration(SchemaMigration): |
| 77 | 100 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
| 78 | 101 | }, |
| 79 | 102 | u'badger.badge': { |
| 80 | - 'Meta': {'object_name': 'Badge'}, | |
| 103 | + 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
| 81 | 104 | 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), |
| 82 | 105 | 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), |
| 83 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 106 | + 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 84 | 107 | u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
| 85 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| 86 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 108 | + 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
| 109 | + 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
| 110 | + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 87 | 111 | 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), |
| 88 | 112 | 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), |
| 89 | 113 | 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) |
| 90 | 114 | }, |
| 115 | + u'badger.badgei18n': { | |
| 116 | + 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
| 117 | + 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 118 | + 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
| 119 | + 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
| 120 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 121 | + 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
| 122 | + }, | |
| 91 | 123 | u'contenttypes.contenttype': { |
| 92 | 124 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
| 93 | 125 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | ... | ... |
src/badger/migrations/0002_auto__add_field_badge_title_en__add_field_badge_title_es__add_field_ba.py
| ... | ... | @@ -1,120 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding field 'Badge.title_en' | |
| 12 | - db.add_column(u'badger_badge', 'title_en', | |
| 13 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 14 | - keep_default=False) | |
| 15 | - | |
| 16 | - # Adding field 'Badge.title_es' | |
| 17 | - db.add_column(u'badger_badge', 'title_es', | |
| 18 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 19 | - keep_default=False) | |
| 20 | - | |
| 21 | - # Adding field 'Badge.description_en' | |
| 22 | - db.add_column(u'badger_badge', 'description_en', | |
| 23 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 24 | - keep_default=False) | |
| 25 | - | |
| 26 | - # Adding field 'Badge.description_es' | |
| 27 | - db.add_column(u'badger_badge', 'description_es', | |
| 28 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 29 | - keep_default=False) | |
| 30 | - | |
| 31 | - | |
| 32 | - # Changing field 'Badge.description' | |
| 33 | - db.alter_column(u'badger_badge', 'description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True)) | |
| 34 | - | |
| 35 | - # Changing field 'Badge.title' | |
| 36 | - db.alter_column(u'badger_badge', 'title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True)) | |
| 37 | - | |
| 38 | - def backwards(self, orm): | |
| 39 | - # Deleting field 'Badge.title_en' | |
| 40 | - db.delete_column(u'badger_badge', 'title_en') | |
| 41 | - | |
| 42 | - # Deleting field 'Badge.title_es' | |
| 43 | - db.delete_column(u'badger_badge', 'title_es') | |
| 44 | - | |
| 45 | - # Deleting field 'Badge.description_en' | |
| 46 | - db.delete_column(u'badger_badge', 'description_en') | |
| 47 | - | |
| 48 | - # Deleting field 'Badge.description_es' | |
| 49 | - db.delete_column(u'badger_badge', 'description_es') | |
| 50 | - | |
| 51 | - | |
| 52 | - # Changing field 'Badge.description' | |
| 53 | - db.alter_column(u'badger_badge', 'description', self.gf('django.db.models.fields.CharField')(default='', max_length=200)) | |
| 54 | - | |
| 55 | - # Changing field 'Badge.title' | |
| 56 | - db.alter_column(u'badger_badge', 'title', self.gf('django.db.models.fields.CharField')(default='', max_length=200)) | |
| 57 | - | |
| 58 | - models = { | |
| 59 | - u'accounts.user': { | |
| 60 | - 'Meta': {'object_name': 'User'}, | |
| 61 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 62 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 63 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 64 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 65 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 66 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 69 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 70 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 71 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 72 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 73 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 74 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 75 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 76 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 77 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 78 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 79 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 80 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 81 | - }, | |
| 82 | - u'auth.group': { | |
| 83 | - 'Meta': {'object_name': 'Group'}, | |
| 84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 85 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 86 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 87 | - }, | |
| 88 | - u'auth.permission': { | |
| 89 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 90 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 91 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 92 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 93 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 94 | - }, | |
| 95 | - u'badger.badge': { | |
| 96 | - 'Meta': {'object_name': 'Badge'}, | |
| 97 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
| 98 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
| 99 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 100 | - 'description_en': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 101 | - 'description_es': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 102 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 103 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| 104 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 105 | - 'title_en': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 106 | - 'title_es': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 107 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 108 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| 109 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| 110 | - }, | |
| 111 | - u'contenttypes.contenttype': { | |
| 112 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 113 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 114 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 115 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 116 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 117 | - } | |
| 118 | - } | |
| 119 | - | |
| 120 | - complete_apps = ['badger'] | |
| 121 | 0 | \ No newline at end of file |
src/badger/migrations/0003_auto__add_badgei18n__add_unique_badgei18n_i18n_source_i18n_language__d.py
| ... | ... | @@ -1,131 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding model 'BadgeI18N' | |
| 12 | - db.create_table(u'badger_badgei18n', ( | |
| 13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 14 | - ('i18n_language', self.gf('django.db.models.fields.CharField')(max_length=10)), | |
| 15 | - ('title', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
| 16 | - ('description', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), | |
| 17 | - ('i18n_source', self.gf('django.db.models.fields.related.ForeignKey')(related_name='translations', to=orm['badger.Badge'])), | |
| 18 | - )) | |
| 19 | - db.send_create_signal(u'badger', ['BadgeI18N']) | |
| 20 | - | |
| 21 | - # Adding unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
| 22 | - db.create_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
| 23 | - | |
| 24 | - # Deleting field 'Badge.title_en' | |
| 25 | - db.delete_column(u'badger_badge', 'title_en') | |
| 26 | - | |
| 27 | - # Deleting field 'Badge.description_en' | |
| 28 | - db.delete_column(u'badger_badge', 'description_en') | |
| 29 | - | |
| 30 | - # Deleting field 'Badge.title_es' | |
| 31 | - db.delete_column(u'badger_badge', 'title_es') | |
| 32 | - | |
| 33 | - # Deleting field 'Badge.description_es' | |
| 34 | - db.delete_column(u'badger_badge', 'description_es') | |
| 35 | - | |
| 36 | - | |
| 37 | - def backwards(self, orm): | |
| 38 | - # Removing unique constraint on 'BadgeI18N', fields ['i18n_source', 'i18n_language'] | |
| 39 | - db.delete_unique(u'badger_badgei18n', ['i18n_source_id', 'i18n_language']) | |
| 40 | - | |
| 41 | - # Deleting model 'BadgeI18N' | |
| 42 | - db.delete_table(u'badger_badgei18n') | |
| 43 | - | |
| 44 | - # Adding field 'Badge.title_en' | |
| 45 | - db.add_column(u'badger_badge', 'title_en', | |
| 46 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 47 | - keep_default=False) | |
| 48 | - | |
| 49 | - # Adding field 'Badge.description_en' | |
| 50 | - db.add_column(u'badger_badge', 'description_en', | |
| 51 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 52 | - keep_default=False) | |
| 53 | - | |
| 54 | - # Adding field 'Badge.title_es' | |
| 55 | - db.add_column(u'badger_badge', 'title_es', | |
| 56 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 57 | - keep_default=False) | |
| 58 | - | |
| 59 | - # Adding field 'Badge.description_es' | |
| 60 | - db.add_column(u'badger_badge', 'description_es', | |
| 61 | - self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True), | |
| 62 | - keep_default=False) | |
| 63 | - | |
| 64 | - | |
| 65 | - models = { | |
| 66 | - u'accounts.user': { | |
| 67 | - 'Meta': {'object_name': 'User'}, | |
| 68 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 70 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 71 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 72 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 73 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 74 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 75 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 76 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 77 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 78 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 79 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 80 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 81 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 82 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 83 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 84 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 85 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 86 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 87 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 88 | - }, | |
| 89 | - u'auth.group': { | |
| 90 | - 'Meta': {'object_name': 'Group'}, | |
| 91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 93 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 94 | - }, | |
| 95 | - u'auth.permission': { | |
| 96 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 97 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 98 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 100 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 101 | - }, | |
| 102 | - u'badger.badge': { | |
| 103 | - 'Meta': {'object_name': 'Badge'}, | |
| 104 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
| 105 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
| 106 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 107 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 108 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| 109 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 110 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 111 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| 112 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| 113 | - }, | |
| 114 | - u'badger.badgei18n': { | |
| 115 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
| 116 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 117 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
| 118 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
| 119 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 120 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
| 121 | - }, | |
| 122 | - u'contenttypes.contenttype': { | |
| 123 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 124 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 125 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 126 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 127 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 128 | - } | |
| 129 | - } | |
| 130 | - | |
| 131 | - complete_apps = ['badger'] | |
| 132 | 0 | \ No newline at end of file |
src/badger/migrations/0004_auto__add_field_badge_order.py
| ... | ... | @@ -1,89 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding field 'Badge.order' | |
| 12 | - db.add_column(u'badger_badge', 'order', | |
| 13 | - self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=100), | |
| 14 | - keep_default=False) | |
| 15 | - | |
| 16 | - | |
| 17 | - def backwards(self, orm): | |
| 18 | - # Deleting field 'Badge.order' | |
| 19 | - db.delete_column(u'badger_badge', 'order') | |
| 20 | - | |
| 21 | - | |
| 22 | - models = { | |
| 23 | - u'accounts.user': { | |
| 24 | - 'Meta': {'object_name': 'User'}, | |
| 25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 38 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 39 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 40 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 41 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 42 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 43 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 44 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 45 | - }, | |
| 46 | - u'auth.group': { | |
| 47 | - 'Meta': {'object_name': 'Group'}, | |
| 48 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 49 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 50 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 51 | - }, | |
| 52 | - u'auth.permission': { | |
| 53 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 54 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 55 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 57 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 58 | - }, | |
| 59 | - u'badger.badge': { | |
| 60 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
| 61 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
| 62 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
| 63 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 64 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 65 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| 66 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
| 67 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 68 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 69 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| 70 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| 71 | - }, | |
| 72 | - u'badger.badgei18n': { | |
| 73 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
| 74 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 75 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
| 76 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
| 77 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
| 79 | - }, | |
| 80 | - u'contenttypes.contenttype': { | |
| 81 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 82 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 84 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 85 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 86 | - } | |
| 87 | - } | |
| 88 | - | |
| 89 | - complete_apps = ['badger'] | |
| 90 | 0 | \ No newline at end of file |
src/badger/migrations/0005_auto__add_field_badge_image_base64.py
| ... | ... | @@ -1,91 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding field 'Badge.image_base64' | |
| 12 | - db.add_column(u'badger_badge', 'image_base64', | |
| 13 | - self.gf('django.db.models.fields.TextField')(default=''), | |
| 14 | - keep_default=False) | |
| 15 | - | |
| 16 | - | |
| 17 | - def backwards(self, orm): | |
| 18 | - # Deleting field 'Badge.image_base64' | |
| 19 | - db.delete_column(u'badger_badge', 'image_base64') | |
| 20 | - | |
| 21 | - | |
| 22 | - models = { | |
| 23 | - u'accounts.user': { | |
| 24 | - 'Meta': {'object_name': 'User'}, | |
| 25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 38 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 39 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 40 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 41 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 43 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 44 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 45 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 46 | - }, | |
| 47 | - u'auth.group': { | |
| 48 | - 'Meta': {'object_name': 'Group'}, | |
| 49 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 50 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 51 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 52 | - }, | |
| 53 | - u'auth.permission': { | |
| 54 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 55 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 57 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 58 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 59 | - }, | |
| 60 | - u'badger.badge': { | |
| 61 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
| 62 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
| 63 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
| 64 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 66 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| 67 | - 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
| 68 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
| 69 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 70 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 71 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| 72 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| 73 | - }, | |
| 74 | - u'badger.badgei18n': { | |
| 75 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
| 76 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 77 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
| 78 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
| 79 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 80 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
| 81 | - }, | |
| 82 | - u'contenttypes.contenttype': { | |
| 83 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 84 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 85 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 88 | - } | |
| 89 | - } | |
| 90 | - | |
| 91 | - complete_apps = ['badger'] | |
| 92 | 0 | \ No newline at end of file |
src/badger/migrations/0006_imgpath_to_base64_field.py
| ... | ... | @@ -1,94 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import base64 | |
| 3 | -import os | |
| 4 | - | |
| 5 | -import datetime | |
| 6 | -from south.db import db | |
| 7 | -from south.v2 import DataMigration | |
| 8 | -from django.db import models | |
| 9 | -from django.conf import settings | |
| 10 | - | |
| 11 | -class Migration(DataMigration): | |
| 12 | - | |
| 13 | - def forwards(self, orm): | |
| 14 | - for obj in orm.Badge.objects.all(): | |
| 15 | - img = open(os.path.join(settings.MEDIA_ROOT, obj.image.path)) | |
| 16 | - obj.image_base64 = base64.b64encode(img.read()) | |
| 17 | - obj.save() | |
| 18 | - | |
| 19 | - def backwards(self, orm): | |
| 20 | - for obj in orm.Badge.objects.all(): | |
| 21 | - obj.image_base64 = '' | |
| 22 | - obj.save() | |
| 23 | - | |
| 24 | - models = { | |
| 25 | - u'accounts.user': { | |
| 26 | - 'Meta': {'object_name': 'User'}, | |
| 27 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 28 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 29 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 30 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 31 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 32 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 33 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 34 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 35 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 36 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 37 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 38 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 39 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 41 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 42 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 43 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 44 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 45 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 46 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 47 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 48 | - }, | |
| 49 | - u'auth.group': { | |
| 50 | - 'Meta': {'object_name': 'Group'}, | |
| 51 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 52 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 53 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 54 | - }, | |
| 55 | - u'auth.permission': { | |
| 56 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 57 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 58 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 60 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 61 | - }, | |
| 62 | - u'badger.badge': { | |
| 63 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
| 64 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
| 65 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
| 66 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), | |
| 69 | - 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
| 70 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
| 71 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 72 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 73 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| 74 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| 75 | - }, | |
| 76 | - u'badger.badgei18n': { | |
| 77 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
| 78 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 79 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
| 80 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
| 81 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 82 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
| 83 | - }, | |
| 84 | - u'contenttypes.contenttype': { | |
| 85 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 86 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 87 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 88 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 89 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 90 | - } | |
| 91 | - } | |
| 92 | - | |
| 93 | - complete_apps = ['badger'] | |
| 94 | - symmetrical = True |
src/badger/migrations/0007_auto__del_field_badge_image.py
| ... | ... | @@ -1,90 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Deleting field 'Badge.image' | |
| 12 | - db.delete_column(u'badger_badge', 'image') | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - # Adding field 'Badge.image' | |
| 17 | - db.add_column(u'badger_badge', 'image', | |
| 18 | - self.gf('django.db.models.fields.files.ImageField')(default='', max_length=100), | |
| 19 | - keep_default=False) | |
| 20 | - | |
| 21 | - | |
| 22 | - models = { | |
| 23 | - u'accounts.user': { | |
| 24 | - 'Meta': {'object_name': 'User'}, | |
| 25 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 26 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 27 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 29 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 30 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 32 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 34 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 35 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 36 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 37 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 38 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 39 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 40 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 41 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 43 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 44 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 45 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 46 | - }, | |
| 47 | - u'auth.group': { | |
| 48 | - 'Meta': {'object_name': 'Group'}, | |
| 49 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 50 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 51 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 52 | - }, | |
| 53 | - u'auth.permission': { | |
| 54 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 55 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 57 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 58 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 59 | - }, | |
| 60 | - u'badger.badge': { | |
| 61 | - 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, | |
| 62 | - 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | |
| 63 | - 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | |
| 64 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 66 | - 'image_base64': ('django.db.models.fields.TextField', [], {}), | |
| 67 | - 'order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '100'}), | |
| 68 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 69 | - 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | |
| 70 | - 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | |
| 71 | - 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | |
| 72 | - }, | |
| 73 | - u'badger.badgei18n': { | |
| 74 | - 'Meta': {'unique_together': "(('i18n_source', 'i18n_language'),)", 'object_name': 'BadgeI18N'}, | |
| 75 | - 'description': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 76 | - 'i18n_language': ('django.db.models.fields.CharField', [], {'max_length': '10'}), | |
| 77 | - 'i18n_source': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['badger.Badge']"}), | |
| 78 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 79 | - 'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) | |
| 80 | - }, | |
| 81 | - u'contenttypes.contenttype': { | |
| 82 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 83 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 85 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 86 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 87 | - } | |
| 88 | - } | |
| 89 | - | |
| 90 | - complete_apps = ['badger'] | |
| 91 | 0 | \ No newline at end of file |
src/proxy/migrations/0001_create_views.py
| ... | ... | @@ -1,115 +0,0 @@ |
| 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 | - | |
| 9 | -class Migration(DataMigration): | |
| 10 | - | |
| 11 | - def forwards(self, orm): | |
| 12 | - # Selecting trac database | |
| 13 | - connection = connections['trac'] | |
| 14 | - | |
| 15 | - cursor = connection.cursor() | |
| 16 | - cursor.execute(''' | |
| 17 | - CREATE OR REPLACE VIEW wiki_view AS SELECT | |
| 18 | - wiki.name AS name, | |
| 19 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
| 20 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
| 21 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
| 22 | - AND wiki3.version = 1) AS author, | |
| 23 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
| 24 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
| 25 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS modified | |
| 26 | - FROM wiki | |
| 27 | - GROUP BY wiki.name; | |
| 28 | - | |
| 29 | - CREATE OR REPLACE VIEW ticket_view AS SELECT | |
| 30 | - ticket.id AS id, | |
| 31 | - ticket.summary as summary, | |
| 32 | - ticket.description as description, | |
| 33 | - ticket.milestone as milestone, | |
| 34 | - ticket.priority as priority, | |
| 35 | - ticket.component as component, | |
| 36 | - ticket.version as version, | |
| 37 | - ticket.severity as severity, | |
| 38 | - ticket.reporter as reporter, | |
| 39 | - ticket.reporter as author, | |
| 40 | - ticket.status as status, | |
| 41 | - ticket.keywords as keywords, | |
| 42 | - (SELECT | |
| 43 | - string_agg(DISTINCT ticket_change.author, ', ') | |
| 44 | - FROM ticket_change WHERE ticket_change.ticket = ticket.id | |
| 45 | - GROUP BY ticket_change.ticket) as collaborators, | |
| 46 | - TIMESTAMP WITH TIME ZONE 'epoch' + (time/1000000)* INTERVAL '1s' AS created, | |
| 47 | - TIMESTAMP WITH TIME ZONE 'epoch' + (changetime/1000000) * INTERVAL '1s' AS modified | |
| 48 | - FROM ticket; | |
| 49 | - | |
| 50 | - CREATE OR REPLACE VIEW revision_view AS SELECT | |
| 51 | - revision.rev, | |
| 52 | - revision.author, | |
| 53 | - revision.message, | |
| 54 | - repository.value AS repository_name, | |
| 55 | - TIMESTAMP WITH TIME ZONE 'epoch' + (revision.time/1000000) * INTERVAL '1s' AS created | |
| 56 | - FROM revision | |
| 57 | - INNER JOIN repository ON( | |
| 58 | - repository.id = revision.repos | |
| 59 | - AND repository.name = 'name' | |
| 60 | - AND repository.value != '' | |
| 61 | - ); | |
| 62 | - ''') | |
| 63 | - | |
| 64 | - def backwards(self, orm): | |
| 65 | - # Selecting trac database | |
| 66 | - connection = connections['trac'] | |
| 67 | - | |
| 68 | - cursor = connection.cursor() | |
| 69 | - cursor.execute(''' | |
| 70 | - DROP VIEW IF EXISTS revision_view; | |
| 71 | - DROP VIEW IF EXISTS ticket_view; | |
| 72 | - DROP VIEW IF EXISTS wiki_view; | |
| 73 | - ''') | |
| 74 | - | |
| 75 | - | |
| 76 | - models = { | |
| 77 | - u'proxy.revision': { | |
| 78 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
| 79 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 80 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 81 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 82 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 83 | - 'rev': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}) | |
| 84 | - }, | |
| 85 | - u'proxy.ticket': { | |
| 86 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
| 87 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 88 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 89 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 90 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 91 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 92 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
| 93 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 94 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 95 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 96 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 97 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 98 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 99 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 100 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 101 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 102 | - }, | |
| 103 | - u'proxy.wiki': { | |
| 104 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
| 105 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 106 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 107 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 108 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 109 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 110 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 111 | - } | |
| 112 | - } | |
| 113 | - | |
| 114 | - complete_apps = ['proxy'] | |
| 115 | - symmetrical = True |
| ... | ... | @@ -0,0 +1,79 @@ |
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | +import datetime | |
| 3 | +from south.db import db | |
| 4 | +from south.v2 import SchemaMigration | |
| 5 | +from django.db import models | |
| 6 | + | |
| 7 | + | |
| 8 | +class Migration(SchemaMigration): | |
| 9 | + | |
| 10 | + def forwards(self, orm): | |
| 11 | + pass | |
| 12 | + | |
| 13 | + def backwards(self, orm): | |
| 14 | + pass | |
| 15 | + | |
| 16 | + models = { | |
| 17 | + u'proxy.attachment': { | |
| 18 | + 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment_view'", 'managed': 'False'}, | |
| 19 | + 'attach_id': ('django.db.models.fields.TextField', [], {}), | |
| 20 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 21 | + 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
| 22 | + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 23 | + 'filename': ('django.db.models.fields.TextField', [], {}), | |
| 24 | + 'mimetype': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 25 | + 'size': ('django.db.models.fields.IntegerField', [], {'blank': 'True'}), | |
| 26 | + 'url': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 27 | + 'used_by': ('django.db.models.fields.TextField', [], {}) | |
| 28 | + }, | |
| 29 | + u'proxy.revision': { | |
| 30 | + 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
| 31 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 32 | + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 33 | + 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 34 | + 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 35 | + 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 36 | + 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 37 | + }, | |
| 38 | + u'proxy.ticket': { | |
| 39 | + 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
| 40 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 41 | + 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 42 | + 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 43 | + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 44 | + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 45 | + 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
| 46 | + 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 47 | + 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 48 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 49 | + 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 50 | + 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 51 | + 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 52 | + 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 53 | + 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 54 | + 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 55 | + 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 56 | + }, | |
| 57 | + u'proxy.ticketcollabcount': { | |
| 58 | + 'Meta': {'object_name': 'TicketCollabCount', 'db_table': "'ticket_collab_count_view'", 'managed': 'False'}, | |
| 59 | + 'author': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 60 | + 'count': ('django.db.models.fields.IntegerField', [], {}) | |
| 61 | + }, | |
| 62 | + u'proxy.wiki': { | |
| 63 | + 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
| 64 | + 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 65 | + 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 66 | + 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 67 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 68 | + 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 69 | + 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 70 | + 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 71 | + }, | |
| 72 | + u'proxy.wikicollabcount': { | |
| 73 | + 'Meta': {'object_name': 'WikiCollabCount', 'db_table': "'wiki_collab_count_view'", 'managed': 'False'}, | |
| 74 | + 'author': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 75 | + 'count': ('django.db.models.fields.IntegerField', [], {}) | |
| 76 | + } | |
| 77 | + } | |
| 78 | + | |
| 79 | + complete_apps = ['proxy'] | |
| 0 | 80 | \ No newline at end of file | ... | ... |
src/proxy/migrations/0002_add_key_to_revision_view.py
| ... | ... | @@ -1,79 +0,0 @@ |
| 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 | - ALTER VIEW revision_view ALTER COLUMN key DROP DEFAULT; | |
| 38 | - ''') | |
| 39 | - | |
| 40 | - models = { | |
| 41 | - u'proxy.revision': { | |
| 42 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
| 43 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 44 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 45 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 46 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 47 | - 'rev': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}) | |
| 48 | - }, | |
| 49 | - u'proxy.ticket': { | |
| 50 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
| 51 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 52 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 53 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 54 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 55 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 56 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
| 57 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 58 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 59 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 60 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 61 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 62 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 63 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 64 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 65 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 66 | - }, | |
| 67 | - u'proxy.wiki': { | |
| 68 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
| 69 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 70 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 71 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 72 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 73 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 74 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 75 | - } | |
| 76 | - } | |
| 77 | - | |
| 78 | - complete_apps = ['proxy'] | |
| 79 | - symmetrical = True |
src/proxy/migrations/0003_create_attachment_view.py
| ... | ... | @@ -1,87 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from django.db import connections | |
| 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 attachment_view AS SELECT | |
| 17 | - CONCAT(attachment.type, '/' , attachment.id, '/', attachment.filename) AS url, | |
| 18 | - attachment.type AS used_by, | |
| 19 | - attachment.filename AS filename, | |
| 20 | - attachment.id as attach_id, | |
| 21 | - (SELECT LOWER(SUBSTRING(attachment.filename FROM '\.(\w+)$'))) AS mimetype, | |
| 22 | - attachment.author AS author, | |
| 23 | - attachment.description AS description, | |
| 24 | - attachment.size AS size, | |
| 25 | - TIMESTAMP WITH TIME ZONE 'epoch' + (attachment.time/1000000)* INTERVAL '1s' AS created | |
| 26 | - FROM attachment; | |
| 27 | - ''') | |
| 28 | - | |
| 29 | - def backwards(self, orm): | |
| 30 | - # Selecting trac database | |
| 31 | - connection = connections['trac'] | |
| 32 | - | |
| 33 | - cursor = connection.cursor() | |
| 34 | - cursor.execute('DROP VIEW IF EXISTS attachment_view;') | |
| 35 | - | |
| 36 | - models = { | |
| 37 | - u'proxy.attachment': { | |
| 38 | - 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment'", 'managed': 'False'}, | |
| 39 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 40 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 41 | - 'filename': ('django.db.models.fields.TextField', [], {}), | |
| 42 | - 'id': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 43 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 44 | - 'size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), | |
| 45 | - 'time': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
| 46 | - 'type': ('django.db.models.fields.TextField', [], {}) | |
| 47 | - }, | |
| 48 | - u'proxy.revision': { | |
| 49 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
| 50 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 51 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 52 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 53 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 54 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 55 | - 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 56 | - }, | |
| 57 | - u'proxy.ticket': { | |
| 58 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
| 59 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 60 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 61 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 62 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 63 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 64 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
| 65 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 66 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 67 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 68 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 69 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 70 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 71 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 72 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 73 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 74 | - }, | |
| 75 | - u'proxy.wiki': { | |
| 76 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
| 77 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 78 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 79 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 80 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 81 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 82 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 83 | - } | |
| 84 | - } | |
| 85 | - | |
| 86 | - complete_apps = ['proxy'] | |
| 87 | - symmetrical = True |
src/proxy/migrations/0004_replace_wiki_view.py
| ... | ... | @@ -1,102 +0,0 @@ |
| 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 | - | |
| 16 | - cursor.execute(''' | |
| 17 | - CREATE OR REPLACE VIEW wiki_view AS SELECT | |
| 18 | - wiki.name AS name, | |
| 19 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
| 20 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
| 21 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
| 22 | - AND wiki3.version = 1) AS author, | |
| 23 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
| 24 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
| 25 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS modified | |
| 26 | - FROM wiki | |
| 27 | - GROUP BY wiki.name; | |
| 28 | - ''') | |
| 29 | - | |
| 30 | - def backwards(self, orm): | |
| 31 | - # Selecting trac database | |
| 32 | - connection = connections['trac'] | |
| 33 | - | |
| 34 | - cursor = connection.cursor() | |
| 35 | - | |
| 36 | - cursor.execute(''' | |
| 37 | - CREATE OR REPLACE VIEW wiki_view AS SELECT | |
| 38 | - wiki.name AS name, | |
| 39 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
| 40 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
| 41 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
| 42 | - AND wiki3.version = 1) AS author, | |
| 43 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
| 44 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
| 45 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS modified | |
| 46 | - FROM wiki | |
| 47 | - GROUP BY wiki.name; | |
| 48 | - ''') | |
| 49 | - | |
| 50 | - models = { | |
| 51 | - u'proxy.attachment': { | |
| 52 | - 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment_view'", 'managed': 'False'}, | |
| 53 | - 'attach_id': ('django.db.models.fields.TextField', [], {}), | |
| 54 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 55 | - 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
| 56 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 57 | - 'filename': ('django.db.models.fields.TextField', [], {}), | |
| 58 | - 'mimetype': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 59 | - 'size': ('django.db.models.fields.IntegerField', [], {'blank': 'True'}), | |
| 60 | - 'url': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 61 | - 'used_by': ('django.db.models.fields.TextField', [], {}) | |
| 62 | - }, | |
| 63 | - u'proxy.revision': { | |
| 64 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
| 65 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 66 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 67 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 68 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 69 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 70 | - 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 71 | - }, | |
| 72 | - u'proxy.ticket': { | |
| 73 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
| 74 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 75 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 76 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 77 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 78 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 79 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
| 80 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 81 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 82 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 83 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 84 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 85 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 86 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 87 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 88 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 89 | - }, | |
| 90 | - u'proxy.wiki': { | |
| 91 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
| 92 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 93 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 94 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 95 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 96 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 97 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 98 | - } | |
| 99 | - } | |
| 100 | - | |
| 101 | - complete_apps = ['proxy'] | |
| 102 | - symmetrical = True |
src/proxy/migrations/0005_adding_modified_by.py
| ... | ... | @@ -1,125 +0,0 @@ |
| 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 wiki_view AS SELECT | |
| 17 | - wiki.name AS name, | |
| 18 | - (SELECT wiki2.text FROM wiki AS wiki2 WHERE wiki2.name = wiki.name | |
| 19 | - AND wiki2.version = MAX(wiki.version)) AS wiki_text, | |
| 20 | - (SELECT wiki3.author FROM wiki AS wiki3 WHERE wiki3.name = wiki.name | |
| 21 | - AND wiki3.version = 1) AS author, | |
| 22 | - string_agg(DISTINCT wiki.author, ', ') AS collaborators, | |
| 23 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MIN(wiki.time)/1000000) * INTERVAL '1s' AS created, | |
| 24 | - TIMESTAMP WITH TIME ZONE 'epoch' + (MAX(wiki.time)/1000000) * INTERVAL '1s' AS modified, | |
| 25 | - (SELECT wiki4.author FROM wiki AS wiki4 WHERE wiki4.name = wiki.name | |
| 26 | - AND wiki4.version = MAX(wiki.version)) AS modified_by | |
| 27 | - FROM wiki | |
| 28 | - GROUP BY wiki.name; | |
| 29 | - | |
| 30 | - CREATE OR REPLACE VIEW ticket_view AS SELECT | |
| 31 | - ticket.id AS id, | |
| 32 | - ticket.summary as summary, | |
| 33 | - ticket.description as description, | |
| 34 | - ticket.milestone as milestone, | |
| 35 | - ticket.priority as priority, | |
| 36 | - ticket.component as component, | |
| 37 | - ticket.version as version, | |
| 38 | - ticket.severity as severity, | |
| 39 | - ticket.reporter as reporter, | |
| 40 | - ticket.reporter as author, | |
| 41 | - ticket.status as status, | |
| 42 | - ticket.keywords as keywords, | |
| 43 | - (SELECT | |
| 44 | - string_agg(DISTINCT ticket_change.author, ', ') | |
| 45 | - FROM ticket_change WHERE ticket_change.ticket = ticket.id | |
| 46 | - GROUP BY ticket_change.ticket) as collaborators, | |
| 47 | - TIMESTAMP WITH TIME ZONE 'epoch' + (time/1000000)* INTERVAL '1s' AS created, | |
| 48 | - TIMESTAMP WITH TIME ZONE 'epoch' + (changetime/1000000) * INTERVAL '1s' AS modified, | |
| 49 | - (SELECT | |
| 50 | - ticket_change.author | |
| 51 | - FROM ticket_change | |
| 52 | - WHERE ticket_change.ticket = ticket.id | |
| 53 | - AND ticket_change.time = ticket.changetime | |
| 54 | - LIMIT 1 | |
| 55 | - ) AS modified_by | |
| 56 | - FROM ticket; | |
| 57 | - ''') | |
| 58 | - | |
| 59 | - | |
| 60 | - def backwards(self, orm): | |
| 61 | - # Selecting trac database | |
| 62 | - connection = connections['trac'] | |
| 63 | - | |
| 64 | - cursor = connection.cursor() | |
| 65 | - cursor.execute(''' | |
| 66 | - ALTER VIEW wiki_view ALTER COLUMN modified_by DROP DEFAULT; | |
| 67 | - ALTER VIEW ticket_view ALTER COLUMN modified_by DROP DEFAULT; | |
| 68 | - ''') | |
| 69 | - | |
| 70 | - | |
| 71 | - models = { | |
| 72 | - u'proxy.attachment': { | |
| 73 | - 'Meta': {'object_name': 'Attachment', 'db_table': "'attachment_view'", 'managed': 'False'}, | |
| 74 | - 'attach_id': ('django.db.models.fields.TextField', [], {}), | |
| 75 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 76 | - 'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), | |
| 77 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 78 | - 'filename': ('django.db.models.fields.TextField', [], {}), | |
| 79 | - 'mimetype': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 80 | - 'size': ('django.db.models.fields.IntegerField', [], {'blank': 'True'}), | |
| 81 | - 'url': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 82 | - 'used_by': ('django.db.models.fields.TextField', [], {}) | |
| 83 | - }, | |
| 84 | - u'proxy.revision': { | |
| 85 | - 'Meta': {'object_name': 'Revision', 'db_table': "'revision_view'", 'managed': 'False'}, | |
| 86 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 87 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 88 | - 'key': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 89 | - 'message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 90 | - 'repository_name': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 91 | - 'rev': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 92 | - }, | |
| 93 | - u'proxy.ticket': { | |
| 94 | - 'Meta': {'object_name': 'Ticket', 'db_table': "'ticket_view'", 'managed': 'False'}, | |
| 95 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 96 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 97 | - 'component': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 98 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 99 | - 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 100 | - 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), | |
| 101 | - 'keywords': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 102 | - 'milestone': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 103 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 104 | - 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 105 | - 'priority': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 106 | - 'reporter': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 107 | - 'severity': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 108 | - 'status': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 109 | - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 110 | - 'version': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 111 | - }, | |
| 112 | - u'proxy.wiki': { | |
| 113 | - 'Meta': {'object_name': 'Wiki', 'db_table': "'wiki_view'", 'managed': 'False'}, | |
| 114 | - 'author': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 115 | - 'collaborators': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 116 | - 'created': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 117 | - 'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | |
| 118 | - 'modified_by': ('django.db.models.fields.TextField', [], {'blank': 'True'}), | |
| 119 | - 'name': ('django.db.models.fields.TextField', [], {'primary_key': 'True'}), | |
| 120 | - 'wiki_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) | |
| 121 | - } | |
| 122 | - } | |
| 123 | - | |
| 124 | - complete_apps = ['proxy'] | |
| 125 | - symmetrical = True |
src/proxy/migrations/0006_views_to_count_collabs.py
| ... | ... | @@ -1,46 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -from django.db import connections | |
| 3 | -from south.v2 import DataMigration | |
| 4 | - | |
| 5 | -class Migration(DataMigration): | |
| 6 | - | |
| 7 | - def forwards(self, orm): | |
| 8 | - # Selecting trac database | |
| 9 | - connection = connections['trac'] | |
| 10 | - | |
| 11 | - cursor = connection.cursor() | |
| 12 | - cursor.execute(''' | |
| 13 | - CREATE OR REPLACE VIEW ticket_collab_count_view AS | |
| 14 | - SELECT | |
| 15 | - COALESCE (t1.author, t2.author) as author, | |
| 16 | - (COALESCE(t1.count, 0) + COALESCE(t2.count, 0)) as count | |
| 17 | - FROM | |
| 18 | - (SELECT author, count(*) as count | |
| 19 | - FROM ticket_change | |
| 20 | - GROUP BY author | |
| 21 | - ORDER BY author | |
| 22 | - ) AS t1 | |
| 23 | - FULL OUTER JOIN | |
| 24 | - (SELECT reporter as author, count(*) as count | |
| 25 | - FROM ticket | |
| 26 | - GROUP BY reporter | |
| 27 | - ORDER BY reporter | |
| 28 | - ) AS t2 | |
| 29 | - ON t1.author = t2.author; | |
| 30 | - | |
| 31 | - CREATE OR REPLACE VIEW wiki_collab_count_view AS | |
| 32 | - SELECT author, count(*) from wiki GROUP BY author; | |
| 33 | - ''') | |
| 34 | - | |
| 35 | - def backwards(self, orm): | |
| 36 | - # Selecting trac database | |
| 37 | - connection = connections['trac'] | |
| 38 | - | |
| 39 | - cursor = connection.cursor() | |
| 40 | - cursor.execute(''' | |
| 41 | - DROP VIEW ticket_collab_count_view; | |
| 42 | - DROP VIEW wiki_collab_count_view; | |
| 43 | - ''') | |
| 44 | - | |
| 45 | - complete_apps = ['proxy'] | |
| 46 | - symmetrical = True |
src/super_archives/migrations/0001_initial.py
| 1 | -# encoding: utf-8 | |
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | 2 | import datetime |
| 3 | 3 | from south.db import db |
| 4 | 4 | from south.v2 import SchemaMigration |
| 5 | 5 | from django.db import models |
| 6 | 6 | |
| 7 | + | |
| 7 | 8 | class Migration(SchemaMigration): |
| 8 | 9 | |
| 9 | 10 | def forwards(self, orm): |
| 10 | - | |
| 11 | - # Adding model 'PageHit' | |
| 12 | - db.create_table('super_archives_pagehit', ( | |
| 13 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 14 | - ('url_path', self.gf('django.db.models.fields.CharField')(unique=True, max_length=2048, db_index=True)), | |
| 15 | - ('hit_count', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
| 11 | + # Adding model 'EmailAddressValidation' | |
| 12 | + db.create_table(u'super_archives_emailaddressvalidation', ( | |
| 13 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 14 | + ('address', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75)), | |
| 15 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails_not_validated', null=True, to=orm['accounts.User'])), | |
| 16 | + ('validation_key', self.gf('django.db.models.fields.CharField')(default='143df80aa814429f9938d3b165148480', max_length=32, null=True)), | |
| 17 | + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), | |
| 16 | 18 | )) |
| 17 | - db.send_create_signal('super_archives', ['PageHit']) | |
| 19 | + db.send_create_signal(u'super_archives', ['EmailAddressValidation']) | |
| 20 | + | |
| 21 | + # Adding unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
| 22 | + db.create_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
| 18 | 23 | |
| 19 | 24 | # Adding model 'EmailAddress' |
| 20 | - db.create_table('super_archives_emailaddress', ( | |
| 21 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 22 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails', null=True, to=orm['auth.User'])), | |
| 25 | + db.create_table(u'super_archives_emailaddress', ( | |
| 26 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 27 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails', null=True, on_delete=models.SET_NULL, to=orm['accounts.User'])), | |
| 23 | 28 | ('address', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75)), |
| 24 | - ('real_name', self.gf('django.db.models.fields.CharField')(max_length=64, blank=True)), | |
| 29 | + ('real_name', self.gf('django.db.models.fields.CharField')(db_index=True, max_length=64, blank=True)), | |
| 25 | 30 | ('md5', self.gf('django.db.models.fields.CharField')(max_length=32, null=True)), |
| 26 | 31 | )) |
| 27 | - db.send_create_signal('super_archives', ['EmailAddress']) | |
| 28 | - | |
| 29 | - # Adding model 'UserProfile' | |
| 30 | - db.create_table('super_archives_userprofile', ( | |
| 31 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 32 | - ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)), | |
| 33 | - ('institution', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 34 | - ('role', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 35 | - ('twitter', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 36 | - ('facebook', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 37 | - ('google_talk', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True)), | |
| 38 | - ('webpage', self.gf('django.db.models.fields.CharField')(max_length=256)), | |
| 39 | - )) | |
| 40 | - db.send_create_signal('super_archives', ['UserProfile']) | |
| 32 | + db.send_create_signal(u'super_archives', ['EmailAddress']) | |
| 41 | 33 | |
| 42 | 34 | # Adding model 'MailingList' |
| 43 | - db.create_table('super_archives_mailinglist', ( | |
| 44 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 35 | + db.create_table(u'super_archives_mailinglist', ( | |
| 36 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 45 | 37 | ('name', self.gf('django.db.models.fields.CharField')(max_length=80)), |
| 46 | 38 | ('email', self.gf('django.db.models.fields.EmailField')(max_length=75)), |
| 47 | 39 | ('description', self.gf('django.db.models.fields.TextField')()), |
| 48 | 40 | ('logo', self.gf('django.db.models.fields.files.FileField')(max_length=100)), |
| 49 | 41 | ('last_imported_index', self.gf('django.db.models.fields.IntegerField')(default=0)), |
| 50 | 42 | )) |
| 51 | - db.send_create_signal('super_archives', ['MailingList']) | |
| 43 | + db.send_create_signal(u'super_archives', ['MailingList']) | |
| 52 | 44 | |
| 53 | 45 | # Adding model 'MailingListMembership' |
| 54 | - db.create_table('super_archives_mailinglistmembership', ( | |
| 55 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 56 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), | |
| 46 | + db.create_table(u'super_archives_mailinglistmembership', ( | |
| 47 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 48 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])), | |
| 57 | 49 | ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), |
| 58 | 50 | )) |
| 59 | - db.send_create_signal('super_archives', ['MailingListMembership']) | |
| 51 | + db.send_create_signal(u'super_archives', ['MailingListMembership']) | |
| 52 | + | |
| 53 | + # Adding model 'Keyword' | |
| 54 | + db.create_table(u'super_archives_keyword', ( | |
| 55 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 56 | + ('keyword', self.gf('django.db.models.fields.CharField')(max_length='128')), | |
| 57 | + ('weight', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
| 58 | + ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Thread'])), | |
| 59 | + )) | |
| 60 | + db.send_create_signal(u'super_archives', ['Keyword']) | |
| 60 | 61 | |
| 61 | 62 | # Adding model 'Thread' |
| 62 | - db.create_table('super_archives_thread', ( | |
| 63 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 63 | + db.create_table(u'super_archives_thread', ( | |
| 64 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 64 | 65 | ('subject_token', self.gf('django.db.models.fields.CharField')(max_length=512)), |
| 65 | 66 | ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), |
| 66 | 67 | ('latest_message', self.gf('django.db.models.fields.related.OneToOneField')(related_name='+', unique=True, null=True, to=orm['super_archives.Message'])), |
| 68 | + ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
| 69 | + ('spam', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
| 67 | 70 | )) |
| 68 | - db.send_create_signal('super_archives', ['Thread']) | |
| 71 | + db.send_create_signal(u'super_archives', ['Thread']) | |
| 69 | 72 | |
| 70 | 73 | # Adding unique constraint on 'Thread', fields ['subject_token', 'mailinglist'] |
| 71 | - db.create_unique('super_archives_thread', ['subject_token', 'mailinglist_id']) | |
| 74 | + db.create_unique(u'super_archives_thread', ['subject_token', 'mailinglist_id']) | |
| 72 | 75 | |
| 73 | 76 | # Adding model 'Vote' |
| 74 | - db.create_table('super_archives_vote', ( | |
| 75 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 76 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), | |
| 77 | + db.create_table(u'super_archives_vote', ( | |
| 78 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 79 | + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])), | |
| 77 | 80 | ('message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Message'])), |
| 81 | + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), | |
| 78 | 82 | )) |
| 79 | - db.send_create_signal('super_archives', ['Vote']) | |
| 83 | + db.send_create_signal(u'super_archives', ['Vote']) | |
| 80 | 84 | |
| 81 | 85 | # Adding unique constraint on 'Vote', fields ['user', 'message'] |
| 82 | - db.create_unique('super_archives_vote', ['user_id', 'message_id']) | |
| 86 | + db.create_unique(u'super_archives_vote', ['user_id', 'message_id']) | |
| 83 | 87 | |
| 84 | 88 | # Adding model 'Message' |
| 85 | - db.create_table('super_archives_message', ( | |
| 86 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 89 | + db.create_table(u'super_archives_message', ( | |
| 90 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 87 | 91 | ('from_address', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.EmailAddress'])), |
| 88 | - ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), | |
| 89 | 92 | ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Thread'], null=True)), |
| 90 | - ('subject', self.gf('django.db.models.fields.CharField')(max_length=512)), | |
| 91 | - ('subject_clean', self.gf('django.db.models.fields.CharField')(max_length=512)), | |
| 93 | + ('subject', self.gf('django.db.models.fields.CharField')(max_length=512, db_index=True)), | |
| 94 | + ('subject_clean', self.gf('django.db.models.fields.CharField')(max_length=512, db_index=True)), | |
| 92 | 95 | ('body', self.gf('django.db.models.fields.TextField')(default='')), |
| 93 | - ('received_time', self.gf('django.db.models.fields.DateTimeField')()), | |
| 96 | + ('received_time', self.gf('django.db.models.fields.DateTimeField')(db_index=True)), | |
| 94 | 97 | ('message_id', self.gf('django.db.models.fields.CharField')(max_length=512)), |
| 98 | + ('spam', self.gf('django.db.models.fields.BooleanField')(default=False)), | |
| 95 | 99 | )) |
| 96 | - db.send_create_signal('super_archives', ['Message']) | |
| 100 | + db.send_create_signal(u'super_archives', ['Message']) | |
| 101 | + | |
| 102 | + # Adding unique constraint on 'Message', fields ['thread', 'message_id'] | |
| 103 | + db.create_unique(u'super_archives_message', ['thread_id', 'message_id']) | |
| 104 | + | |
| 105 | + # Adding model 'MessageBlock' | |
| 106 | + db.create_table(u'super_archives_messageblock', ( | |
| 107 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 108 | + ('message', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blocks', to=orm['super_archives.Message'])), | |
| 109 | + ('text', self.gf('django.db.models.fields.TextField')()), | |
| 110 | + ('is_reply', self.gf('django.db.models.fields.BooleanField')()), | |
| 111 | + ('order', self.gf('django.db.models.fields.IntegerField')()), | |
| 112 | + )) | |
| 113 | + db.send_create_signal(u'super_archives', ['MessageBlock']) | |
| 97 | 114 | |
| 98 | 115 | # Adding model 'MessageMetadata' |
| 99 | - db.create_table('super_archives_messagemetadata', ( | |
| 100 | - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 116 | + db.create_table(u'super_archives_messagemetadata', ( | |
| 117 | + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 101 | 118 | ('Message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Message'])), |
| 102 | 119 | ('name', self.gf('django.db.models.fields.CharField')(max_length=512)), |
| 103 | 120 | ('value', self.gf('django.db.models.fields.TextField')()), |
| 104 | 121 | )) |
| 105 | - db.send_create_signal('super_archives', ['MessageMetadata']) | |
| 122 | + db.send_create_signal(u'super_archives', ['MessageMetadata']) | |
| 106 | 123 | |
| 107 | 124 | |
| 108 | 125 | def backwards(self, orm): |
| 109 | - | |
| 126 | + # Removing unique constraint on 'Message', fields ['thread', 'message_id'] | |
| 127 | + db.delete_unique(u'super_archives_message', ['thread_id', 'message_id']) | |
| 128 | + | |
| 110 | 129 | # Removing unique constraint on 'Vote', fields ['user', 'message'] |
| 111 | - db.delete_unique('super_archives_vote', ['user_id', 'message_id']) | |
| 130 | + db.delete_unique(u'super_archives_vote', ['user_id', 'message_id']) | |
| 112 | 131 | |
| 113 | 132 | # Removing unique constraint on 'Thread', fields ['subject_token', 'mailinglist'] |
| 114 | - db.delete_unique('super_archives_thread', ['subject_token', 'mailinglist_id']) | |
| 133 | + db.delete_unique(u'super_archives_thread', ['subject_token', 'mailinglist_id']) | |
| 115 | 134 | |
| 116 | - # Deleting model 'PageHit' | |
| 117 | - db.delete_table('super_archives_pagehit') | |
| 135 | + # Removing unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
| 136 | + db.delete_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
| 118 | 137 | |
| 119 | - # Deleting model 'EmailAddress' | |
| 120 | - db.delete_table('super_archives_emailaddress') | |
| 138 | + # Deleting model 'EmailAddressValidation' | |
| 139 | + db.delete_table(u'super_archives_emailaddressvalidation') | |
| 121 | 140 | |
| 122 | - # Deleting model 'UserProfile' | |
| 123 | - db.delete_table('super_archives_userprofile') | |
| 141 | + # Deleting model 'EmailAddress' | |
| 142 | + db.delete_table(u'super_archives_emailaddress') | |
| 124 | 143 | |
| 125 | 144 | # Deleting model 'MailingList' |
| 126 | - db.delete_table('super_archives_mailinglist') | |
| 145 | + db.delete_table(u'super_archives_mailinglist') | |
| 127 | 146 | |
| 128 | 147 | # Deleting model 'MailingListMembership' |
| 129 | - db.delete_table('super_archives_mailinglistmembership') | |
| 148 | + db.delete_table(u'super_archives_mailinglistmembership') | |
| 149 | + | |
| 150 | + # Deleting model 'Keyword' | |
| 151 | + db.delete_table(u'super_archives_keyword') | |
| 130 | 152 | |
| 131 | 153 | # Deleting model 'Thread' |
| 132 | - db.delete_table('super_archives_thread') | |
| 154 | + db.delete_table(u'super_archives_thread') | |
| 133 | 155 | |
| 134 | 156 | # Deleting model 'Vote' |
| 135 | - db.delete_table('super_archives_vote') | |
| 157 | + db.delete_table(u'super_archives_vote') | |
| 136 | 158 | |
| 137 | 159 | # Deleting model 'Message' |
| 138 | - db.delete_table('super_archives_message') | |
| 160 | + db.delete_table(u'super_archives_message') | |
| 161 | + | |
| 162 | + # Deleting model 'MessageBlock' | |
| 163 | + db.delete_table(u'super_archives_messageblock') | |
| 139 | 164 | |
| 140 | 165 | # Deleting model 'MessageMetadata' |
| 141 | - db.delete_table('super_archives_messagemetadata') | |
| 166 | + db.delete_table(u'super_archives_messagemetadata') | |
| 142 | 167 | |
| 143 | 168 | |
| 144 | 169 | models = { |
| 145 | - 'auth.group': { | |
| 146 | - 'Meta': {'object_name': 'Group'}, | |
| 147 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 148 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 149 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 150 | - }, | |
| 151 | - 'auth.permission': { | |
| 152 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 153 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 154 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 155 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 156 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 157 | - }, | |
| 158 | - 'auth.user': { | |
| 170 | + u'accounts.user': { | |
| 159 | 171 | 'Meta': {'object_name': 'User'}, |
| 172 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | |
| 160 | 173 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
| 161 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 174 | + 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 175 | + 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 162 | 176 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
| 163 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 164 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 177 | + 'github': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 178 | + 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 179 | + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 180 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 181 | + 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 165 | 182 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
| 166 | 183 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
| 167 | 184 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
| 168 | 185 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
| 169 | 186 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), |
| 187 | + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | |
| 170 | 188 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
| 171 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 172 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 189 | + 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 190 | + 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 191 | + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 192 | + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 193 | + 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 194 | + 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 195 | + }, | |
| 196 | + u'auth.group': { | |
| 197 | + 'Meta': {'object_name': 'Group'}, | |
| 198 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 199 | + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 200 | + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 201 | + }, | |
| 202 | + u'auth.permission': { | |
| 203 | + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 204 | + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 205 | + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 206 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 207 | + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 173 | 208 | }, |
| 174 | - 'contenttypes.contenttype': { | |
| 209 | + u'contenttypes.contenttype': { | |
| 175 | 210 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
| 176 | 211 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
| 177 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 212 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 178 | 213 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
| 179 | 214 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) |
| 180 | 215 | }, |
| 181 | - 'super_archives.emailaddress': { | |
| 182 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 216 | + u'super_archives.emailaddress': { | |
| 217 | + 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 183 | 218 | 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), |
| 184 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 219 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 185 | 220 | 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
| 186 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
| 187 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 221 | + 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 222 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 223 | + }, | |
| 224 | + u'super_archives.emailaddressvalidation': { | |
| 225 | + 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
| 226 | + 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 227 | + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 228 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 229 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 230 | + 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'aa4ac05f39464a05932308e9fda2daf5'", 'max_length': '32', 'null': 'True'}) | |
| 188 | 231 | }, |
| 189 | - 'super_archives.mailinglist': { | |
| 232 | + u'super_archives.keyword': { | |
| 233 | + 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
| 234 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 235 | + 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
| 236 | + 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
| 237 | + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
| 238 | + }, | |
| 239 | + u'super_archives.mailinglist': { | |
| 190 | 240 | 'Meta': {'object_name': 'MailingList'}, |
| 191 | 241 | 'description': ('django.db.models.fields.TextField', [], {}), |
| 192 | 242 | 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), |
| 193 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 243 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 194 | 244 | 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
| 195 | 245 | 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), |
| 196 | 246 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) |
| 197 | 247 | }, |
| 198 | - 'super_archives.mailinglistmembership': { | |
| 248 | + u'super_archives.mailinglistmembership': { | |
| 199 | 249 | 'Meta': {'object_name': 'MailingListMembership'}, |
| 200 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 201 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 202 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 250 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 251 | + 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 252 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 203 | 253 | }, |
| 204 | - 'super_archives.message': { | |
| 205 | - 'Meta': {'object_name': 'Message'}, | |
| 254 | + u'super_archives.message': { | |
| 255 | + 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 206 | 256 | 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), |
| 207 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 208 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 209 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 257 | + 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 258 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 210 | 259 | 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
| 211 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 212 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 213 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 214 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 260 | + 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
| 261 | + 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 262 | + 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 263 | + 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 264 | + 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 265 | + }, | |
| 266 | + u'super_archives.messageblock': { | |
| 267 | + 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
| 268 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 269 | + 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
| 270 | + 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
| 271 | + 'order': ('django.db.models.fields.IntegerField', [], {}), | |
| 272 | + 'text': ('django.db.models.fields.TextField', [], {}) | |
| 215 | 273 | }, |
| 216 | - 'super_archives.messagemetadata': { | |
| 217 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 274 | + u'super_archives.messagemetadata': { | |
| 275 | + 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 218 | 276 | 'Meta': {'object_name': 'MessageMetadata'}, |
| 219 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 277 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 220 | 278 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
| 221 | 279 | 'value': ('django.db.models.fields.TextField', [], {}) |
| 222 | 280 | }, |
| 223 | - 'super_archives.pagehit': { | |
| 224 | - 'Meta': {'object_name': 'PageHit'}, | |
| 225 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 226 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 227 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 228 | - }, | |
| 229 | - 'super_archives.thread': { | |
| 230 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 231 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 232 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 233 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 281 | + u'super_archives.thread': { | |
| 282 | + 'Meta': {'ordering': "('-latest_message__received_time',)", 'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 283 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 284 | + 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 285 | + 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 286 | + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 287 | + 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 234 | 288 | 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) |
| 235 | 289 | }, |
| 236 | - 'super_archives.userprofile': { | |
| 237 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 238 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 239 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 240 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 241 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 242 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 243 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 244 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 245 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 246 | - }, | |
| 247 | - 'super_archives.vote': { | |
| 290 | + u'super_archives.vote': { | |
| 248 | 291 | 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, |
| 249 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 250 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 251 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 292 | + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 293 | + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 294 | + 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 295 | + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 252 | 296 | } |
| 253 | 297 | } |
| 254 | 298 | |
| 255 | 299 | - complete_apps = ['super_archives'] |
| 300 | + complete_apps = ['super_archives'] | |
| 256 | 301 | \ No newline at end of file | ... | ... |
src/super_archives/migrations/0002_auto__add_field_userprofile_verification_hash.py
| ... | ... | @@ -1,133 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Adding field 'UserProfile.verification_hash' | |
| 12 | - db.add_column('super_archives_userprofile', 'verification_hash', self.gf('django.db.models.fields.CharField')(max_length=32, null=True), keep_default=False) | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # Deleting field 'UserProfile.verification_hash' | |
| 18 | - db.delete_column('super_archives_userprofile', 'verification_hash') | |
| 19 | - | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - 'auth.group': { | |
| 23 | - 'Meta': {'object_name': 'Group'}, | |
| 24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 27 | - }, | |
| 28 | - 'auth.permission': { | |
| 29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 34 | - }, | |
| 35 | - 'auth.user': { | |
| 36 | - 'Meta': {'object_name': 'User'}, | |
| 37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 50 | - }, | |
| 51 | - 'contenttypes.contenttype': { | |
| 52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 57 | - }, | |
| 58 | - 'super_archives.emailaddress': { | |
| 59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 63 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
| 64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 65 | - }, | |
| 66 | - 'super_archives.mailinglist': { | |
| 67 | - 'Meta': {'object_name': 'MailingList'}, | |
| 68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 74 | - }, | |
| 75 | - 'super_archives.mailinglistmembership': { | |
| 76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 80 | - }, | |
| 81 | - 'super_archives.message': { | |
| 82 | - 'Meta': {'object_name': 'Message'}, | |
| 83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 92 | - }, | |
| 93 | - 'super_archives.messagemetadata': { | |
| 94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 99 | - }, | |
| 100 | - 'super_archives.pagehit': { | |
| 101 | - 'Meta': {'object_name': 'PageHit'}, | |
| 102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 105 | - }, | |
| 106 | - 'super_archives.thread': { | |
| 107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 111 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 112 | - }, | |
| 113 | - 'super_archives.userprofile': { | |
| 114 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 115 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 116 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 117 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 118 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 119 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 120 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 121 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 122 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 123 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 124 | - }, | |
| 125 | - 'super_archives.vote': { | |
| 126 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 127 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 128 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 129 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 130 | - } | |
| 131 | - } | |
| 132 | - | |
| 133 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0003_auto__add_field_thread_score.py
| ... | ... | @@ -1,134 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Adding field 'Thread.score' | |
| 12 | - db.add_column('super_archives_thread', 'score', self.gf('django.db.models.fields.IntegerField')(default=0), keep_default=False) | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # Deleting field 'Thread.score' | |
| 18 | - db.delete_column('super_archives_thread', 'score') | |
| 19 | - | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - 'auth.group': { | |
| 23 | - 'Meta': {'object_name': 'Group'}, | |
| 24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 27 | - }, | |
| 28 | - 'auth.permission': { | |
| 29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 34 | - }, | |
| 35 | - 'auth.user': { | |
| 36 | - 'Meta': {'object_name': 'User'}, | |
| 37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 50 | - }, | |
| 51 | - 'contenttypes.contenttype': { | |
| 52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 57 | - }, | |
| 58 | - 'super_archives.emailaddress': { | |
| 59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 63 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
| 64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 65 | - }, | |
| 66 | - 'super_archives.mailinglist': { | |
| 67 | - 'Meta': {'object_name': 'MailingList'}, | |
| 68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 74 | - }, | |
| 75 | - 'super_archives.mailinglistmembership': { | |
| 76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 80 | - }, | |
| 81 | - 'super_archives.message': { | |
| 82 | - 'Meta': {'object_name': 'Message'}, | |
| 83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 92 | - }, | |
| 93 | - 'super_archives.messagemetadata': { | |
| 94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 99 | - }, | |
| 100 | - 'super_archives.pagehit': { | |
| 101 | - 'Meta': {'object_name': 'PageHit'}, | |
| 102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 105 | - }, | |
| 106 | - 'super_archives.thread': { | |
| 107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 112 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 113 | - }, | |
| 114 | - 'super_archives.userprofile': { | |
| 115 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 116 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 117 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 118 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 119 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 120 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 121 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 122 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 123 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 124 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 125 | - }, | |
| 126 | - 'super_archives.vote': { | |
| 127 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 128 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 129 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 130 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 131 | - } | |
| 132 | - } | |
| 133 | - | |
| 134 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0004_auto__add_field_vote_created.py
| ... | ... | @@ -1,135 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Adding field 'Vote.created' | |
| 12 | - db.add_column('super_archives_vote', 'created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, default=datetime.datetime(2012, 1, 19, 18, 8, 46, 813949), blank=True), keep_default=False) | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # Deleting field 'Vote.created' | |
| 18 | - db.delete_column('super_archives_vote', 'created') | |
| 19 | - | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - 'auth.group': { | |
| 23 | - 'Meta': {'object_name': 'Group'}, | |
| 24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 27 | - }, | |
| 28 | - 'auth.permission': { | |
| 29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 34 | - }, | |
| 35 | - 'auth.user': { | |
| 36 | - 'Meta': {'object_name': 'User'}, | |
| 37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 50 | - }, | |
| 51 | - 'contenttypes.contenttype': { | |
| 52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 57 | - }, | |
| 58 | - 'super_archives.emailaddress': { | |
| 59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 63 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
| 64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 65 | - }, | |
| 66 | - 'super_archives.mailinglist': { | |
| 67 | - 'Meta': {'object_name': 'MailingList'}, | |
| 68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 74 | - }, | |
| 75 | - 'super_archives.mailinglistmembership': { | |
| 76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 80 | - }, | |
| 81 | - 'super_archives.message': { | |
| 82 | - 'Meta': {'object_name': 'Message'}, | |
| 83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 92 | - }, | |
| 93 | - 'super_archives.messagemetadata': { | |
| 94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 99 | - }, | |
| 100 | - 'super_archives.pagehit': { | |
| 101 | - 'Meta': {'object_name': 'PageHit'}, | |
| 102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 105 | - }, | |
| 106 | - 'super_archives.thread': { | |
| 107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 112 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 113 | - }, | |
| 114 | - 'super_archives.userprofile': { | |
| 115 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 116 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 117 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 118 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 119 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 120 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 121 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 122 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 123 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 124 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 125 | - }, | |
| 126 | - 'super_archives.vote': { | |
| 127 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 128 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 129 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 130 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 131 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 132 | - } | |
| 133 | - } | |
| 134 | - | |
| 135 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0005_auto__add_field_message_spam__add_field_thread_spam.py
| ... | ... | @@ -1,143 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Adding field 'Message.spam' | |
| 12 | - db.add_column('super_archives_message', 'spam', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) | |
| 13 | - | |
| 14 | - # Adding field 'Thread.spam' | |
| 15 | - db.add_column('super_archives_thread', 'spam', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) | |
| 16 | - | |
| 17 | - | |
| 18 | - def backwards(self, orm): | |
| 19 | - | |
| 20 | - # Deleting field 'Message.spam' | |
| 21 | - db.delete_column('super_archives_message', 'spam') | |
| 22 | - | |
| 23 | - # Deleting field 'Thread.spam' | |
| 24 | - db.delete_column('super_archives_thread', 'spam') | |
| 25 | - | |
| 26 | - | |
| 27 | - models = { | |
| 28 | - 'auth.group': { | |
| 29 | - 'Meta': {'object_name': 'Group'}, | |
| 30 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 31 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 32 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 33 | - }, | |
| 34 | - 'auth.permission': { | |
| 35 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 36 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 37 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 38 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 39 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 40 | - }, | |
| 41 | - 'auth.user': { | |
| 42 | - 'Meta': {'object_name': 'User'}, | |
| 43 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 44 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 45 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 46 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 47 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 48 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 49 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 50 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 51 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 52 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 53 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 54 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 55 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 56 | - }, | |
| 57 | - 'contenttypes.contenttype': { | |
| 58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 63 | - }, | |
| 64 | - 'super_archives.emailaddress': { | |
| 65 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 67 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 69 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
| 70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 71 | - }, | |
| 72 | - 'super_archives.mailinglist': { | |
| 73 | - 'Meta': {'object_name': 'MailingList'}, | |
| 74 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 75 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 76 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 77 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 78 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 79 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 80 | - }, | |
| 81 | - 'super_archives.mailinglistmembership': { | |
| 82 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 83 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 84 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 85 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 86 | - }, | |
| 87 | - 'super_archives.message': { | |
| 88 | - 'Meta': {'object_name': 'Message'}, | |
| 89 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 90 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 91 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 93 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 94 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 95 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 96 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 97 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 98 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 99 | - }, | |
| 100 | - 'super_archives.messagemetadata': { | |
| 101 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 102 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 105 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 106 | - }, | |
| 107 | - 'super_archives.pagehit': { | |
| 108 | - 'Meta': {'object_name': 'PageHit'}, | |
| 109 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 110 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 111 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 112 | - }, | |
| 113 | - 'super_archives.thread': { | |
| 114 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 115 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 116 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 117 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 118 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 119 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 120 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 121 | - }, | |
| 122 | - 'super_archives.userprofile': { | |
| 123 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 124 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 125 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 126 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 127 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 128 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 129 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 130 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 131 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 132 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 133 | - }, | |
| 134 | - 'super_archives.vote': { | |
| 135 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 136 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 137 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 138 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 139 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 140 | - } | |
| 141 | - } | |
| 142 | - | |
| 143 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0006_auto.py
| ... | ... | @@ -1,143 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Adding index on 'Message', fields ['subject_clean'] | |
| 12 | - db.create_index('super_archives_message', ['subject_clean']) | |
| 13 | - | |
| 14 | - # Adding index on 'Message', fields ['subject'] | |
| 15 | - db.create_index('super_archives_message', ['subject']) | |
| 16 | - | |
| 17 | - | |
| 18 | - def backwards(self, orm): | |
| 19 | - | |
| 20 | - # Removing index on 'Message', fields ['subject'] | |
| 21 | - db.delete_index('super_archives_message', ['subject']) | |
| 22 | - | |
| 23 | - # Removing index on 'Message', fields ['subject_clean'] | |
| 24 | - db.delete_index('super_archives_message', ['subject_clean']) | |
| 25 | - | |
| 26 | - | |
| 27 | - models = { | |
| 28 | - 'auth.group': { | |
| 29 | - 'Meta': {'object_name': 'Group'}, | |
| 30 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 31 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 32 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 33 | - }, | |
| 34 | - 'auth.permission': { | |
| 35 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 36 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 37 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 38 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 39 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 40 | - }, | |
| 41 | - 'auth.user': { | |
| 42 | - 'Meta': {'object_name': 'User'}, | |
| 43 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 44 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 45 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 46 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 47 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 48 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 49 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 50 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 51 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 52 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 53 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 54 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 55 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 56 | - }, | |
| 57 | - 'contenttypes.contenttype': { | |
| 58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 63 | - }, | |
| 64 | - 'super_archives.emailaddress': { | |
| 65 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 67 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 69 | - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}), | |
| 70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 71 | - }, | |
| 72 | - 'super_archives.mailinglist': { | |
| 73 | - 'Meta': {'object_name': 'MailingList'}, | |
| 74 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 75 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 76 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 77 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 78 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 79 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 80 | - }, | |
| 81 | - 'super_archives.mailinglistmembership': { | |
| 82 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 83 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 84 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 85 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 86 | - }, | |
| 87 | - 'super_archives.message': { | |
| 88 | - 'Meta': {'object_name': 'Message'}, | |
| 89 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 90 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 91 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 93 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 94 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 95 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 96 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 97 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 98 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 99 | - }, | |
| 100 | - 'super_archives.messagemetadata': { | |
| 101 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 102 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 105 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 106 | - }, | |
| 107 | - 'super_archives.pagehit': { | |
| 108 | - 'Meta': {'object_name': 'PageHit'}, | |
| 109 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 110 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 111 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 112 | - }, | |
| 113 | - 'super_archives.thread': { | |
| 114 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 115 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 116 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 117 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 118 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 119 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 120 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 121 | - }, | |
| 122 | - 'super_archives.userprofile': { | |
| 123 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 124 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 125 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 126 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 127 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 128 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 129 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 130 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 131 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 132 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 133 | - }, | |
| 134 | - 'super_archives.vote': { | |
| 135 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 136 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 137 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 138 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 139 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 140 | - } | |
| 141 | - } | |
| 142 | - | |
| 143 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0007_auto.py
| ... | ... | @@ -1,137 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Adding index on 'EmailAddress', fields ['real_name'] | |
| 12 | - db.create_index('super_archives_emailaddress', ['real_name']) | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # Removing index on 'EmailAddress', fields ['real_name'] | |
| 18 | - db.delete_index('super_archives_emailaddress', ['real_name']) | |
| 19 | - | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - 'auth.group': { | |
| 23 | - 'Meta': {'object_name': 'Group'}, | |
| 24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 27 | - }, | |
| 28 | - 'auth.permission': { | |
| 29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 34 | - }, | |
| 35 | - 'auth.user': { | |
| 36 | - 'Meta': {'object_name': 'User'}, | |
| 37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 50 | - }, | |
| 51 | - 'contenttypes.contenttype': { | |
| 52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 57 | - }, | |
| 58 | - 'super_archives.emailaddress': { | |
| 59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 65 | - }, | |
| 66 | - 'super_archives.mailinglist': { | |
| 67 | - 'Meta': {'object_name': 'MailingList'}, | |
| 68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 74 | - }, | |
| 75 | - 'super_archives.mailinglistmembership': { | |
| 76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 80 | - }, | |
| 81 | - 'super_archives.message': { | |
| 82 | - 'Meta': {'object_name': 'Message'}, | |
| 83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 87 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 88 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 89 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 90 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 91 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 92 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 93 | - }, | |
| 94 | - 'super_archives.messagemetadata': { | |
| 95 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 96 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 97 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 98 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 99 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 100 | - }, | |
| 101 | - 'super_archives.pagehit': { | |
| 102 | - 'Meta': {'object_name': 'PageHit'}, | |
| 103 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 104 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 105 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 106 | - }, | |
| 107 | - 'super_archives.thread': { | |
| 108 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 109 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 110 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 111 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 112 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 113 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 114 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 115 | - }, | |
| 116 | - 'super_archives.userprofile': { | |
| 117 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 118 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 119 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 120 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 121 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 122 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 123 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 124 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 125 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 126 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 127 | - }, | |
| 128 | - 'super_archives.vote': { | |
| 129 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 130 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 131 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 132 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 133 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 134 | - } | |
| 135 | - } | |
| 136 | - | |
| 137 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0008_add_mailinglist_name_to_url.py
| ... | ... | @@ -1,142 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import DataMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(DataMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - page_hits = orm.PageHit.objects.all() | |
| 11 | - for page_hit in page_hits: | |
| 12 | - if page_hit.url_path.startswith('/archives/thread/'): | |
| 13 | - token = page_hit.url_path.split('/')[-1] | |
| 14 | - threads = orm.Thread.objects.filter(subject_token=token) | |
| 15 | - if not len(threads): continue | |
| 16 | - thread = threads[0] | |
| 17 | - new_url = '/archives/thread/%s/%s' % (thread.mailinglist.name, | |
| 18 | - thread.subject_token) | |
| 19 | - page_hit.url_path = new_url | |
| 20 | - page_hit.save() | |
| 21 | - | |
| 22 | - | |
| 23 | - def backwards(self, orm): | |
| 24 | - raise RuntimeError("Cannot reverse this migration.") | |
| 25 | - | |
| 26 | - models = { | |
| 27 | - 'auth.group': { | |
| 28 | - 'Meta': {'object_name': 'Group'}, | |
| 29 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 30 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 31 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 32 | - }, | |
| 33 | - 'auth.permission': { | |
| 34 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 35 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 36 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 37 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 38 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 39 | - }, | |
| 40 | - 'auth.user': { | |
| 41 | - 'Meta': {'object_name': 'User'}, | |
| 42 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 43 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 44 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 45 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 46 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 47 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 48 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 49 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 50 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 51 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 52 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 53 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 54 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 55 | - }, | |
| 56 | - 'contenttypes.contenttype': { | |
| 57 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 58 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 59 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 60 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 61 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 62 | - }, | |
| 63 | - 'super_archives.emailaddress': { | |
| 64 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 65 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 66 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 67 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 68 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 69 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 70 | - }, | |
| 71 | - 'super_archives.mailinglist': { | |
| 72 | - 'Meta': {'object_name': 'MailingList'}, | |
| 73 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 74 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 75 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 76 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 77 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 78 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 79 | - }, | |
| 80 | - 'super_archives.mailinglistmembership': { | |
| 81 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 82 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 83 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 84 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 85 | - }, | |
| 86 | - 'super_archives.message': { | |
| 87 | - 'Meta': {'object_name': 'Message'}, | |
| 88 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 89 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 90 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 91 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 92 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 93 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 94 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 95 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 96 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 97 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 98 | - }, | |
| 99 | - 'super_archives.messagemetadata': { | |
| 100 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 101 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 102 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 103 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 104 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 105 | - }, | |
| 106 | - 'super_archives.pagehit': { | |
| 107 | - 'Meta': {'object_name': 'PageHit'}, | |
| 108 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 109 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 110 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 111 | - }, | |
| 112 | - 'super_archives.thread': { | |
| 113 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 114 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 115 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 116 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 117 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 118 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 119 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 120 | - }, | |
| 121 | - 'super_archives.userprofile': { | |
| 122 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 123 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 124 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 125 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 126 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 127 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 128 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 129 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 130 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 131 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 132 | - }, | |
| 133 | - 'super_archives.vote': { | |
| 134 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 135 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 136 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 137 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 138 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 139 | - } | |
| 140 | - } | |
| 141 | - | |
| 142 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0009_auto__del_field_message_mailinglist.py
| ... | ... | @@ -1,136 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Deleting field 'Message.mailinglist' | |
| 12 | - db.delete_column('super_archives_message', 'mailinglist_id') | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # User chose to not deal with backwards NULL issues for 'Message.mailinglist' | |
| 18 | - raise RuntimeError("Cannot reverse this migration. 'Message.mailinglist' and its values cannot be restored.") | |
| 19 | - | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - 'auth.group': { | |
| 23 | - 'Meta': {'object_name': 'Group'}, | |
| 24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 27 | - }, | |
| 28 | - 'auth.permission': { | |
| 29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 34 | - }, | |
| 35 | - 'auth.user': { | |
| 36 | - 'Meta': {'object_name': 'User'}, | |
| 37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 50 | - }, | |
| 51 | - 'contenttypes.contenttype': { | |
| 52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 57 | - }, | |
| 58 | - 'super_archives.emailaddress': { | |
| 59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 65 | - }, | |
| 66 | - 'super_archives.mailinglist': { | |
| 67 | - 'Meta': {'object_name': 'MailingList'}, | |
| 68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 74 | - }, | |
| 75 | - 'super_archives.mailinglistmembership': { | |
| 76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 80 | - }, | |
| 81 | - 'super_archives.message': { | |
| 82 | - 'Meta': {'object_name': 'Message'}, | |
| 83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 87 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 88 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 92 | - }, | |
| 93 | - 'super_archives.messagemetadata': { | |
| 94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 99 | - }, | |
| 100 | - 'super_archives.pagehit': { | |
| 101 | - 'Meta': {'object_name': 'PageHit'}, | |
| 102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 105 | - }, | |
| 106 | - 'super_archives.thread': { | |
| 107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 112 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 113 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 114 | - }, | |
| 115 | - 'super_archives.userprofile': { | |
| 116 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 117 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 118 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 119 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 120 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 121 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 122 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 123 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 124 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 125 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 126 | - }, | |
| 127 | - 'super_archives.vote': { | |
| 128 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 129 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 130 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 131 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 132 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 133 | - } | |
| 134 | - } | |
| 135 | - | |
| 136 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0010_auto__add_unique_message_message_id_thread.py
| ... | ... | @@ -1,136 +0,0 @@ |
| 1 | -# encoding: utf-8 | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | -class Migration(SchemaMigration): | |
| 8 | - | |
| 9 | - def forwards(self, orm): | |
| 10 | - | |
| 11 | - # Adding unique constraint on 'Message', fields ['message_id', 'thread'] | |
| 12 | - db.create_unique('super_archives_message', ['message_id', 'thread_id']) | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # Removing unique constraint on 'Message', fields ['message_id', 'thread'] | |
| 18 | - db.delete_unique('super_archives_message', ['message_id', 'thread_id']) | |
| 19 | - | |
| 20 | - | |
| 21 | - models = { | |
| 22 | - 'auth.group': { | |
| 23 | - 'Meta': {'object_name': 'Group'}, | |
| 24 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 25 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 26 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 27 | - }, | |
| 28 | - 'auth.permission': { | |
| 29 | - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, | |
| 30 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 31 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
| 32 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 33 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 34 | - }, | |
| 35 | - 'auth.user': { | |
| 36 | - 'Meta': {'object_name': 'User'}, | |
| 37 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 38 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 39 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 40 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 41 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 42 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 43 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 44 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 45 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 46 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 47 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 48 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 49 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 50 | - }, | |
| 51 | - 'contenttypes.contenttype': { | |
| 52 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 53 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 54 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 56 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 57 | - }, | |
| 58 | - 'super_archives.emailaddress': { | |
| 59 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 60 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 61 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 63 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 64 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': "orm['auth.User']"}) | |
| 65 | - }, | |
| 66 | - 'super_archives.mailinglist': { | |
| 67 | - 'Meta': {'object_name': 'MailingList'}, | |
| 68 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 69 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 70 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 71 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 72 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 73 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 74 | - }, | |
| 75 | - 'super_archives.mailinglistmembership': { | |
| 76 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 77 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 78 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 79 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 80 | - }, | |
| 81 | - 'super_archives.message': { | |
| 82 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 83 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 84 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.EmailAddress']"}), | |
| 85 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 86 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 87 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 88 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 89 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 90 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Thread']", 'null': 'True'}) | |
| 92 | - }, | |
| 93 | - 'super_archives.messagemetadata': { | |
| 94 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 95 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 96 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 98 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 99 | - }, | |
| 100 | - 'super_archives.pagehit': { | |
| 101 | - 'Meta': {'object_name': 'PageHit'}, | |
| 102 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 103 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 105 | - }, | |
| 106 | - 'super_archives.thread': { | |
| 107 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 108 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 109 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': "orm['super_archives.Message']"}), | |
| 110 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.MailingList']"}), | |
| 111 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 112 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 113 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 114 | - }, | |
| 115 | - 'super_archives.userprofile': { | |
| 116 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 117 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 118 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 119 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 120 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 121 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 122 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 123 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}), | |
| 124 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 125 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256'}) | |
| 126 | - }, | |
| 127 | - 'super_archives.vote': { | |
| 128 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 129 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 130 | - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 131 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['super_archives.Message']"}), | |
| 132 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) | |
| 133 | - } | |
| 134 | - } | |
| 135 | - | |
| 136 | - complete_apps = ['super_archives'] |
src/super_archives/migrations/0011_auto__chg_field_userprofile_webpage.py
| ... | ... | @@ -1,135 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - | |
| 12 | - # Changing field 'UserProfile.webpage' | |
| 13 | - db.alter_column(u'super_archives_userprofile', 'webpage', self.gf('django.db.models.fields.CharField')(max_length=256, null=True)) | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # User chose to not deal with backwards NULL issues for 'UserProfile.webpage' | |
| 18 | - raise RuntimeError("Cannot reverse this migration. 'UserProfile.webpage' and its values cannot be restored.") | |
| 19 | - | |
| 20 | - models = { | |
| 21 | - u'auth.group': { | |
| 22 | - 'Meta': {'object_name': 'Group'}, | |
| 23 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 24 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 25 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 26 | - }, | |
| 27 | - u'auth.permission': { | |
| 28 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 29 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 30 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 31 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 32 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 33 | - }, | |
| 34 | - u'auth.user': { | |
| 35 | - 'Meta': {'object_name': 'User'}, | |
| 36 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 37 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | |
| 38 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 39 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 40 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 41 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 42 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 43 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 44 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 45 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 46 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 47 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 48 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | |
| 49 | - }, | |
| 50 | - u'contenttypes.contenttype': { | |
| 51 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 52 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 54 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 56 | - }, | |
| 57 | - u'super_archives.emailaddress': { | |
| 58 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 59 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 62 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 63 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['auth.User']"}) | |
| 64 | - }, | |
| 65 | - u'super_archives.mailinglist': { | |
| 66 | - 'Meta': {'object_name': 'MailingList'}, | |
| 67 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 68 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 69 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 70 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 71 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 72 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 73 | - }, | |
| 74 | - u'super_archives.mailinglistmembership': { | |
| 75 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 77 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 78 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}) | |
| 79 | - }, | |
| 80 | - u'super_archives.message': { | |
| 81 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 82 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 83 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 85 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 86 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 87 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 88 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 89 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 90 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 91 | - }, | |
| 92 | - u'super_archives.messagemetadata': { | |
| 93 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 94 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 95 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 96 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 97 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 98 | - }, | |
| 99 | - u'super_archives.pagehit': { | |
| 100 | - 'Meta': {'object_name': 'PageHit'}, | |
| 101 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 102 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 103 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 104 | - }, | |
| 105 | - u'super_archives.thread': { | |
| 106 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 107 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 108 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 109 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 110 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 111 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 112 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 113 | - }, | |
| 114 | - u'super_archives.userprofile': { | |
| 115 | - 'Meta': {'object_name': 'UserProfile'}, | |
| 116 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 117 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 118 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 119 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 120 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 121 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 122 | - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['auth.User']", 'unique': 'True'}), | |
| 123 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 124 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
| 125 | - }, | |
| 126 | - u'super_archives.vote': { | |
| 127 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 128 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 129 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 130 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 131 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"}) | |
| 132 | - } | |
| 133 | - } | |
| 134 | - | |
| 135 | - complete_apps = ['super_archives'] | |
| 136 | 0 | \ No newline at end of file |
src/super_archives/migrations/0012_auto__del_userprofile__chg_field_vote_user__chg_field_emailaddress_use.py
| ... | ... | @@ -1,159 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Deleting model 'UserProfile' | |
| 12 | - db.delete_table(u'super_archives_userprofile') | |
| 13 | - | |
| 14 | - | |
| 15 | - # Changing field 'Vote.user' | |
| 16 | - db.alter_column(u'super_archives_vote', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])) | |
| 17 | - | |
| 18 | - # Changing field 'EmailAddress.user' | |
| 19 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['accounts.User'])) | |
| 20 | - | |
| 21 | - # Changing field 'MailingListMembership.user' | |
| 22 | - db.alter_column(u'super_archives_mailinglistmembership', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['accounts.User'])) | |
| 23 | - | |
| 24 | - def backwards(self, orm): | |
| 25 | - # Adding model 'UserProfile' | |
| 26 | - db.create_table(u'super_archives_userprofile', ( | |
| 27 | - ('google_talk', self.gf('django.db.models.fields.EmailField')(max_length=75, null=True)), | |
| 28 | - ('facebook', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 29 | - ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)), | |
| 30 | - ('webpage', self.gf('django.db.models.fields.CharField')(max_length=256, null=True)), | |
| 31 | - ('role', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 32 | - ('twitter', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 33 | - ('verification_hash', self.gf('django.db.models.fields.CharField')(max_length=32, null=True)), | |
| 34 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 35 | - ('institution', self.gf('django.db.models.fields.CharField')(max_length=128, null=True)), | |
| 36 | - )) | |
| 37 | - db.send_create_signal(u'super_archives', ['UserProfile']) | |
| 38 | - | |
| 39 | - | |
| 40 | - # Changing field 'Vote.user' | |
| 41 | - db.alter_column(u'super_archives_vote', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])) | |
| 42 | - | |
| 43 | - # Changing field 'EmailAddress.user' | |
| 44 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['auth.User'])) | |
| 45 | - | |
| 46 | - # Changing field 'MailingListMembership.user' | |
| 47 | - db.alter_column(u'super_archives_mailinglistmembership', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])) | |
| 48 | - | |
| 49 | - models = { | |
| 50 | - u'accounts.user': { | |
| 51 | - 'Meta': {'object_name': 'User'}, | |
| 52 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 53 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 54 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 55 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 56 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True'}), | |
| 57 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 58 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 59 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 60 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 61 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 62 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 63 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 64 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 65 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 66 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 67 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), | |
| 68 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | |
| 69 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 70 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 71 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True'}) | |
| 72 | - }, | |
| 73 | - u'auth.group': { | |
| 74 | - 'Meta': {'object_name': 'Group'}, | |
| 75 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 76 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 77 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 78 | - }, | |
| 79 | - u'auth.permission': { | |
| 80 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 81 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 82 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 84 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 85 | - }, | |
| 86 | - u'contenttypes.contenttype': { | |
| 87 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 88 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 89 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 90 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 91 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 92 | - }, | |
| 93 | - u'super_archives.emailaddress': { | |
| 94 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 95 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 98 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 99 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
| 100 | - }, | |
| 101 | - u'super_archives.mailinglist': { | |
| 102 | - 'Meta': {'object_name': 'MailingList'}, | |
| 103 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 104 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 105 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 106 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 107 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 108 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 109 | - }, | |
| 110 | - u'super_archives.mailinglistmembership': { | |
| 111 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 112 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 113 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 114 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 115 | - }, | |
| 116 | - u'super_archives.message': { | |
| 117 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 118 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 119 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 120 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 121 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 122 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 123 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 124 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 125 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 126 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 127 | - }, | |
| 128 | - u'super_archives.messagemetadata': { | |
| 129 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 130 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 131 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 132 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 133 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 134 | - }, | |
| 135 | - u'super_archives.pagehit': { | |
| 136 | - 'Meta': {'object_name': 'PageHit'}, | |
| 137 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 138 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 139 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 140 | - }, | |
| 141 | - u'super_archives.thread': { | |
| 142 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 143 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 144 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 145 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 146 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 147 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 148 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 149 | - }, | |
| 150 | - u'super_archives.vote': { | |
| 151 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 152 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 153 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 154 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 155 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 156 | - } | |
| 157 | - } | |
| 158 | - | |
| 159 | - complete_apps = ['super_archives'] | |
| 160 | 0 | \ No newline at end of file |
src/super_archives/migrations/0013_auto__add_emailaddressvalidation.py
| ... | ... | @@ -1,145 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding model 'EmailAddressValidation' | |
| 12 | - db.create_table(u'super_archives_emailaddressvalidation', ( | |
| 13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 14 | - ('address', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75)), | |
| 15 | - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='emails_not_validated', null=True, to=orm['accounts.User'])), | |
| 16 | - ('validation_key', self.gf('django.db.models.fields.CharField')(default='2a261e5a2f944d36b252629b1a108e7b', max_length=32)), | |
| 17 | - ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), | |
| 18 | - )) | |
| 19 | - db.send_create_signal(u'super_archives', ['EmailAddressValidation']) | |
| 20 | - | |
| 21 | - | |
| 22 | - def backwards(self, orm): | |
| 23 | - # Deleting model 'EmailAddressValidation' | |
| 24 | - db.delete_table(u'super_archives_emailaddressvalidation') | |
| 25 | - | |
| 26 | - | |
| 27 | - models = { | |
| 28 | - u'accounts.user': { | |
| 29 | - 'Meta': {'object_name': 'User'}, | |
| 30 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 31 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 32 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 34 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 35 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 36 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 37 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 38 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 39 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 40 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 41 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 42 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 43 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 44 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 45 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 46 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 47 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 48 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 49 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 50 | - }, | |
| 51 | - u'auth.group': { | |
| 52 | - 'Meta': {'object_name': 'Group'}, | |
| 53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 54 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 55 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 56 | - }, | |
| 57 | - u'auth.permission': { | |
| 58 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 59 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 63 | - }, | |
| 64 | - u'contenttypes.contenttype': { | |
| 65 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 66 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 69 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 70 | - }, | |
| 71 | - u'super_archives.emailaddress': { | |
| 72 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 73 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 74 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 75 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 76 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
| 78 | - }, | |
| 79 | - u'super_archives.emailaddressvalidation': { | |
| 80 | - 'Meta': {'object_name': 'EmailAddressValidation'}, | |
| 81 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 82 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 84 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 85 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'0dd1ae4b49bc43ff904c1cfa3b2e6ef6'", 'max_length': '32'}) | |
| 86 | - }, | |
| 87 | - u'super_archives.mailinglist': { | |
| 88 | - 'Meta': {'object_name': 'MailingList'}, | |
| 89 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 90 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 93 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 94 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 95 | - }, | |
| 96 | - u'super_archives.mailinglistmembership': { | |
| 97 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 98 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 99 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 100 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 101 | - }, | |
| 102 | - u'super_archives.message': { | |
| 103 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 104 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 105 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 106 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 107 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 108 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 109 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 110 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 111 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 112 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 113 | - }, | |
| 114 | - u'super_archives.messagemetadata': { | |
| 115 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 116 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 118 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 119 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 120 | - }, | |
| 121 | - u'super_archives.pagehit': { | |
| 122 | - 'Meta': {'object_name': 'PageHit'}, | |
| 123 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 124 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 125 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 126 | - }, | |
| 127 | - u'super_archives.thread': { | |
| 128 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 129 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 130 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 131 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 132 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 133 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 134 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 135 | - }, | |
| 136 | - u'super_archives.vote': { | |
| 137 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 138 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 139 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 140 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 141 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 142 | - } | |
| 143 | - } | |
| 144 | - | |
| 145 | - complete_apps = ['super_archives'] | |
| 146 | 0 | \ No newline at end of file |
src/super_archives/migrations/0014_auto__chg_field_emailaddressvalidation_validation_key.py
| ... | ... | @@ -1,138 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - | |
| 12 | - # Changing field 'EmailAddressValidation.validation_key' | |
| 13 | - db.alter_column(u'super_archives_emailaddressvalidation', 'validation_key', self.gf('django.db.models.fields.CharField')(max_length=32, null=True)) | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # Changing field 'EmailAddressValidation.validation_key' | |
| 18 | - db.alter_column(u'super_archives_emailaddressvalidation', 'validation_key', self.gf('django.db.models.fields.CharField')(max_length=32)) | |
| 19 | - | |
| 20 | - models = { | |
| 21 | - u'accounts.user': { | |
| 22 | - 'Meta': {'object_name': 'User'}, | |
| 23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 43 | - }, | |
| 44 | - u'auth.group': { | |
| 45 | - 'Meta': {'object_name': 'Group'}, | |
| 46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 49 | - }, | |
| 50 | - u'auth.permission': { | |
| 51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 56 | - }, | |
| 57 | - u'contenttypes.contenttype': { | |
| 58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 63 | - }, | |
| 64 | - u'super_archives.emailaddress': { | |
| 65 | - 'Meta': {'object_name': 'EmailAddress'}, | |
| 66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'to': u"orm['accounts.User']"}) | |
| 71 | - }, | |
| 72 | - u'super_archives.emailaddressvalidation': { | |
| 73 | - 'Meta': {'object_name': 'EmailAddressValidation'}, | |
| 74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'30a2065c72c1402986a11e7c5369f5a5'", 'max_length': '32', 'null': 'True'}) | |
| 79 | - }, | |
| 80 | - u'super_archives.mailinglist': { | |
| 81 | - 'Meta': {'object_name': 'MailingList'}, | |
| 82 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 83 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 85 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 86 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 88 | - }, | |
| 89 | - u'super_archives.mailinglistmembership': { | |
| 90 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 93 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 94 | - }, | |
| 95 | - u'super_archives.message': { | |
| 96 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 97 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 98 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 100 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 101 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 102 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 103 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 104 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 105 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 106 | - }, | |
| 107 | - u'super_archives.messagemetadata': { | |
| 108 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 109 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 112 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 113 | - }, | |
| 114 | - u'super_archives.pagehit': { | |
| 115 | - 'Meta': {'object_name': 'PageHit'}, | |
| 116 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 118 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 119 | - }, | |
| 120 | - u'super_archives.thread': { | |
| 121 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 122 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 123 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 124 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 125 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 126 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 127 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 128 | - }, | |
| 129 | - u'super_archives.vote': { | |
| 130 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 131 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 133 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 134 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 135 | - } | |
| 136 | - } | |
| 137 | - | |
| 138 | - complete_apps = ['super_archives'] | |
| 139 | 0 | \ No newline at end of file |
src/super_archives/migrations/0015_auto__chg_field_emailaddress_user.py
| ... | ... | @@ -1,138 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - | |
| 12 | - # Changing field 'EmailAddress.user' | |
| 13 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, on_delete=models.SET_NULL, to=orm['accounts.User'])) | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - | |
| 17 | - # Changing field 'EmailAddress.user' | |
| 18 | - db.alter_column(u'super_archives_emailaddress', 'user_id', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['accounts.User'])) | |
| 19 | - | |
| 20 | - models = { | |
| 21 | - u'accounts.user': { | |
| 22 | - 'Meta': {'object_name': 'User'}, | |
| 23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 43 | - }, | |
| 44 | - u'auth.group': { | |
| 45 | - 'Meta': {'object_name': 'Group'}, | |
| 46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 49 | - }, | |
| 50 | - u'auth.permission': { | |
| 51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 56 | - }, | |
| 57 | - u'contenttypes.contenttype': { | |
| 58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 63 | - }, | |
| 64 | - u'super_archives.emailaddress': { | |
| 65 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 71 | - }, | |
| 72 | - u'super_archives.emailaddressvalidation': { | |
| 73 | - 'Meta': {'object_name': 'EmailAddressValidation'}, | |
| 74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'a9cfbe23d1be41e4beeafa7790325e26'", 'max_length': '32', 'null': 'True'}) | |
| 79 | - }, | |
| 80 | - u'super_archives.mailinglist': { | |
| 81 | - 'Meta': {'object_name': 'MailingList'}, | |
| 82 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 83 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 85 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 86 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 88 | - }, | |
| 89 | - u'super_archives.mailinglistmembership': { | |
| 90 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 93 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 94 | - }, | |
| 95 | - u'super_archives.message': { | |
| 96 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 97 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 98 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 100 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 101 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 102 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 103 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 104 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 105 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 106 | - }, | |
| 107 | - u'super_archives.messagemetadata': { | |
| 108 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 109 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 112 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 113 | - }, | |
| 114 | - u'super_archives.pagehit': { | |
| 115 | - 'Meta': {'object_name': 'PageHit'}, | |
| 116 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 118 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 119 | - }, | |
| 120 | - u'super_archives.thread': { | |
| 121 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 122 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 123 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 124 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 125 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 126 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 127 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 128 | - }, | |
| 129 | - u'super_archives.vote': { | |
| 130 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 131 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 133 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 134 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 135 | - } | |
| 136 | - } | |
| 137 | - | |
| 138 | - complete_apps = ['super_archives'] | |
| 139 | 0 | \ No newline at end of file |
src/super_archives/migrations/0016_auto__add_unique_emailaddressvalidation_user_address.py
| ... | ... | @@ -1,138 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
| 12 | - db.create_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - # Removing unique constraint on 'EmailAddressValidation', fields ['user', 'address'] | |
| 17 | - db.delete_unique(u'super_archives_emailaddressvalidation', ['user_id', 'address']) | |
| 18 | - | |
| 19 | - | |
| 20 | - models = { | |
| 21 | - u'accounts.user': { | |
| 22 | - 'Meta': {'object_name': 'User'}, | |
| 23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 43 | - }, | |
| 44 | - u'auth.group': { | |
| 45 | - 'Meta': {'object_name': 'Group'}, | |
| 46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 49 | - }, | |
| 50 | - u'auth.permission': { | |
| 51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 56 | - }, | |
| 57 | - u'contenttypes.contenttype': { | |
| 58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 63 | - }, | |
| 64 | - u'super_archives.emailaddress': { | |
| 65 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 71 | - }, | |
| 72 | - u'super_archives.emailaddressvalidation': { | |
| 73 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
| 74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'cfda46852e7e4e4a9e34a57c3d3b2330'", 'max_length': '32', 'null': 'True'}) | |
| 79 | - }, | |
| 80 | - u'super_archives.mailinglist': { | |
| 81 | - 'Meta': {'object_name': 'MailingList'}, | |
| 82 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 83 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 84 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 85 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 86 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 87 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 88 | - }, | |
| 89 | - u'super_archives.mailinglistmembership': { | |
| 90 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 93 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 94 | - }, | |
| 95 | - u'super_archives.message': { | |
| 96 | - 'Meta': {'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 97 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 98 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 99 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 100 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 101 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 102 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 103 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 104 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 105 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 106 | - }, | |
| 107 | - u'super_archives.messagemetadata': { | |
| 108 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 109 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 110 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 111 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 112 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 113 | - }, | |
| 114 | - u'super_archives.pagehit': { | |
| 115 | - 'Meta': {'object_name': 'PageHit'}, | |
| 116 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 118 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 119 | - }, | |
| 120 | - u'super_archives.thread': { | |
| 121 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 122 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 123 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 124 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 125 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 126 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 127 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 128 | - }, | |
| 129 | - u'super_archives.vote': { | |
| 130 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 131 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 133 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 134 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 135 | - } | |
| 136 | - } | |
| 137 | - | |
| 138 | - complete_apps = ['super_archives'] | |
| 139 | 0 | \ No newline at end of file |
src/super_archives/migrations/0017_auto__add_keyword.py
| ... | ... | @@ -1,151 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding model 'Keyword' | |
| 12 | - db.create_table(u'super_archives_keyword', ( | |
| 13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 14 | - ('keyword', self.gf('django.db.models.fields.CharField')(max_length='128')), | |
| 15 | - ('weight', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
| 16 | - ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Thread'])), | |
| 17 | - )) | |
| 18 | - db.send_create_signal(u'super_archives', ['Keyword']) | |
| 19 | - | |
| 20 | - | |
| 21 | - def backwards(self, orm): | |
| 22 | - # Deleting model 'Keyword' | |
| 23 | - db.delete_table(u'super_archives_keyword') | |
| 24 | - | |
| 25 | - | |
| 26 | - models = { | |
| 27 | - u'accounts.user': { | |
| 28 | - 'Meta': {'object_name': 'User'}, | |
| 29 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 30 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 31 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 32 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 33 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 34 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 35 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 36 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 37 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 38 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 39 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 40 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 41 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 42 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 43 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 44 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 45 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 46 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 47 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 48 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 49 | - }, | |
| 50 | - u'auth.group': { | |
| 51 | - 'Meta': {'object_name': 'Group'}, | |
| 52 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 53 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 54 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 55 | - }, | |
| 56 | - u'auth.permission': { | |
| 57 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 58 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 59 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 62 | - }, | |
| 63 | - u'contenttypes.contenttype': { | |
| 64 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 65 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 66 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 67 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 68 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 69 | - }, | |
| 70 | - u'super_archives.emailaddress': { | |
| 71 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 72 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 73 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 74 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 75 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 76 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 77 | - }, | |
| 78 | - u'super_archives.emailaddressvalidation': { | |
| 79 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
| 80 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 81 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 82 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 83 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 84 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'e2d18f1f8d6445fc91c04d17acdbe23a'", 'max_length': '32', 'null': 'True'}) | |
| 85 | - }, | |
| 86 | - u'super_archives.keyword': { | |
| 87 | - 'Meta': {'object_name': 'Keyword'}, | |
| 88 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 89 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
| 90 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
| 91 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
| 92 | - }, | |
| 93 | - u'super_archives.mailinglist': { | |
| 94 | - 'Meta': {'object_name': 'MailingList'}, | |
| 95 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 96 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 97 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 98 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 99 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 100 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 101 | - }, | |
| 102 | - u'super_archives.mailinglistmembership': { | |
| 103 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 104 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 105 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 106 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 107 | - }, | |
| 108 | - u'super_archives.message': { | |
| 109 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 110 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 111 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 112 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 113 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 114 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {}), | |
| 115 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 116 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 117 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 118 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 119 | - }, | |
| 120 | - u'super_archives.messagemetadata': { | |
| 121 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 122 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 123 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 124 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 125 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 126 | - }, | |
| 127 | - u'super_archives.pagehit': { | |
| 128 | - 'Meta': {'object_name': 'PageHit'}, | |
| 129 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 130 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 131 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 132 | - }, | |
| 133 | - u'super_archives.thread': { | |
| 134 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 135 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 136 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 137 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 138 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 139 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 140 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 141 | - }, | |
| 142 | - u'super_archives.vote': { | |
| 143 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 144 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 145 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 146 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 147 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 148 | - } | |
| 149 | - } | |
| 150 | - | |
| 151 | - complete_apps = ['super_archives'] | |
| 152 | 0 | \ No newline at end of file |
src/super_archives/migrations/0018_auto__add_index_message_received_time.py
| ... | ... | @@ -1,145 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding index on 'Message', fields ['received_time'] | |
| 12 | - db.create_index(u'super_archives_message', ['received_time']) | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - # Removing index on 'Message', fields ['received_time'] | |
| 17 | - db.delete_index(u'super_archives_message', ['received_time']) | |
| 18 | - | |
| 19 | - | |
| 20 | - models = { | |
| 21 | - u'accounts.user': { | |
| 22 | - 'Meta': {'object_name': 'User'}, | |
| 23 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 24 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 25 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 26 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 27 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 28 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 29 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 30 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 31 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 32 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 33 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 34 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 35 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 36 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 37 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 38 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 39 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 40 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 41 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 42 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 43 | - }, | |
| 44 | - u'auth.group': { | |
| 45 | - 'Meta': {'object_name': 'Group'}, | |
| 46 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 47 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 48 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 49 | - }, | |
| 50 | - u'auth.permission': { | |
| 51 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 52 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 53 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 54 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 55 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 56 | - }, | |
| 57 | - u'contenttypes.contenttype': { | |
| 58 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 59 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 61 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 63 | - }, | |
| 64 | - u'super_archives.emailaddress': { | |
| 65 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 66 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 69 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 70 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 71 | - }, | |
| 72 | - u'super_archives.emailaddressvalidation': { | |
| 73 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
| 74 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 75 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 76 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 78 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'1775e2bdc5e341a9b9b8a6346eec1024'", 'max_length': '32', 'null': 'True'}) | |
| 79 | - }, | |
| 80 | - u'super_archives.keyword': { | |
| 81 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
| 82 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 83 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
| 84 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
| 85 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
| 86 | - }, | |
| 87 | - u'super_archives.mailinglist': { | |
| 88 | - 'Meta': {'object_name': 'MailingList'}, | |
| 89 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 90 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 91 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 92 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 93 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 94 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 95 | - }, | |
| 96 | - u'super_archives.mailinglistmembership': { | |
| 97 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 98 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 99 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 100 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 101 | - }, | |
| 102 | - u'super_archives.message': { | |
| 103 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 104 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 105 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 106 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 107 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 108 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
| 109 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 110 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 111 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 112 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 113 | - }, | |
| 114 | - u'super_archives.messagemetadata': { | |
| 115 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 116 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 117 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 118 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 119 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 120 | - }, | |
| 121 | - u'super_archives.pagehit': { | |
| 122 | - 'Meta': {'object_name': 'PageHit'}, | |
| 123 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 124 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 125 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 126 | - }, | |
| 127 | - u'super_archives.thread': { | |
| 128 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 129 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 130 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 131 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 132 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 133 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 134 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 135 | - }, | |
| 136 | - u'super_archives.vote': { | |
| 137 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 138 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 139 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 140 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 141 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 142 | - } | |
| 143 | - } | |
| 144 | - | |
| 145 | - complete_apps = ['super_archives'] | |
| 146 | 0 | \ No newline at end of file |
src/super_archives/migrations/0019_auto__add_messageblock.py
| ... | ... | @@ -1,160 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Adding model 'MessageBlock' | |
| 12 | - db.create_table(u'super_archives_messageblock', ( | |
| 13 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 14 | - ('message', self.gf('django.db.models.fields.related.ForeignKey')(related_name='blocks', to=orm['super_archives.Message'])), | |
| 15 | - ('text', self.gf('django.db.models.fields.TextField')()), | |
| 16 | - ('is_reply', self.gf('django.db.models.fields.BooleanField')()), | |
| 17 | - ('order', self.gf('django.db.models.fields.IntegerField')()), | |
| 18 | - )) | |
| 19 | - db.send_create_signal(u'super_archives', ['MessageBlock']) | |
| 20 | - | |
| 21 | - | |
| 22 | - def backwards(self, orm): | |
| 23 | - # Deleting model 'MessageBlock' | |
| 24 | - db.delete_table(u'super_archives_messageblock') | |
| 25 | - | |
| 26 | - | |
| 27 | - models = { | |
| 28 | - u'accounts.user': { | |
| 29 | - 'Meta': {'object_name': 'User'}, | |
| 30 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 31 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 32 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 34 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 35 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 36 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 37 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 38 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 39 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 40 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 41 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 42 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 43 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 44 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 45 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 46 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 47 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 48 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 49 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 50 | - }, | |
| 51 | - u'auth.group': { | |
| 52 | - 'Meta': {'object_name': 'Group'}, | |
| 53 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 54 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 55 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 56 | - }, | |
| 57 | - u'auth.permission': { | |
| 58 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 59 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 60 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 61 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 62 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 63 | - }, | |
| 64 | - u'contenttypes.contenttype': { | |
| 65 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 66 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 67 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 68 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 69 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 70 | - }, | |
| 71 | - u'super_archives.emailaddress': { | |
| 72 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 73 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 74 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 75 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 76 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 77 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 78 | - }, | |
| 79 | - u'super_archives.emailaddressvalidation': { | |
| 80 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
| 81 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 82 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 83 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 84 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 85 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'f7c4c15797f34834bf5a8b9bd84fabee'", 'max_length': '32', 'null': 'True'}) | |
| 86 | - }, | |
| 87 | - u'super_archives.keyword': { | |
| 88 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
| 89 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 90 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
| 91 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
| 92 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
| 93 | - }, | |
| 94 | - u'super_archives.mailinglist': { | |
| 95 | - 'Meta': {'object_name': 'MailingList'}, | |
| 96 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 97 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 98 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 99 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 100 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 101 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 102 | - }, | |
| 103 | - u'super_archives.mailinglistmembership': { | |
| 104 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 105 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 106 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 107 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 108 | - }, | |
| 109 | - u'super_archives.message': { | |
| 110 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 111 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 112 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 113 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 114 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 115 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
| 116 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 117 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 118 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 119 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 120 | - }, | |
| 121 | - u'super_archives.messageblock': { | |
| 122 | - 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
| 123 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 124 | - 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
| 125 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
| 126 | - 'order': ('django.db.models.fields.IntegerField', [], {}), | |
| 127 | - 'text': ('django.db.models.fields.TextField', [], {}) | |
| 128 | - }, | |
| 129 | - u'super_archives.messagemetadata': { | |
| 130 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 131 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 132 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 133 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 134 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 135 | - }, | |
| 136 | - u'super_archives.pagehit': { | |
| 137 | - 'Meta': {'object_name': 'PageHit'}, | |
| 138 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 139 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 140 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 141 | - }, | |
| 142 | - u'super_archives.thread': { | |
| 143 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 144 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 145 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 146 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 147 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 148 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 149 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 150 | - }, | |
| 151 | - u'super_archives.vote': { | |
| 152 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 153 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 154 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 155 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 156 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 157 | - } | |
| 158 | - } | |
| 159 | - | |
| 160 | - complete_apps = ['super_archives'] | |
| 161 | 0 | \ No newline at end of file |
src/super_archives/migrations/0020_pagehit_to_hitcounter.py
| ... | ... | @@ -1,190 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | - | |
| 3 | -import datetime | |
| 4 | - | |
| 5 | -from south.db import db | |
| 6 | -from south.logger import _logger | |
| 7 | -from south.v2 import DataMigration | |
| 8 | -from django.core.urlresolvers import resolve | |
| 9 | -from django.db import models | |
| 10 | - | |
| 11 | - | |
| 12 | -class Migration(DataMigration): | |
| 13 | - | |
| 14 | - def forwards(self, orm): | |
| 15 | - """Migrate all data from the PageHit model to the given object with | |
| 16 | - the HitCounterMixin.""" | |
| 17 | - | |
| 18 | - content_type = orm['contenttypes.ContentType'].objects.get( | |
| 19 | - model='thread', | |
| 20 | - app_label='super_archives' | |
| 21 | - ) | |
| 22 | - | |
| 23 | - for obj in orm.PageHit.objects.all(): | |
| 24 | - view = resolve(obj.url_path) | |
| 25 | - | |
| 26 | - try: | |
| 27 | - thread = orm.Thread.objects.get( | |
| 28 | - subject_token=view.kwargs.get('thread_token'), | |
| 29 | - mailinglist__name=view.kwargs.get('mailinglist'), | |
| 30 | - ) | |
| 31 | - except orm.Thread.DoesNotExist: | |
| 32 | - continue | |
| 33 | - | |
| 34 | - hit_obj, created = orm['hitcounter.Hit'].objects.get_or_create( | |
| 35 | - content_type=content_type, | |
| 36 | - object_pk=thread.pk, | |
| 37 | - defaults={'hits': obj.hit_count}, | |
| 38 | - ) | |
| 39 | - | |
| 40 | - if not created: | |
| 41 | - hit_obj.hits = obj.hit_count | |
| 42 | - hit_obj.save() | |
| 43 | - | |
| 44 | - def backwards(self, orm): | |
| 45 | - _logger.warning(u"This backwards don't get the data of PageHit back.") | |
| 46 | - | |
| 47 | - models = { | |
| 48 | - u'accounts.user': { | |
| 49 | - 'Meta': {'object_name': 'User'}, | |
| 50 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 51 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 52 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 53 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 54 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 55 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 56 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 57 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 58 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 59 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 60 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 61 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 62 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 63 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 64 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 65 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 66 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 67 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 68 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 69 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 70 | - }, | |
| 71 | - u'auth.group': { | |
| 72 | - 'Meta': {'object_name': 'Group'}, | |
| 73 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 74 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 75 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 76 | - }, | |
| 77 | - u'auth.permission': { | |
| 78 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 79 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 80 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 81 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 82 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 83 | - }, | |
| 84 | - u'contenttypes.contenttype': { | |
| 85 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 86 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 87 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 88 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 89 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 90 | - }, | |
| 91 | - u'hitcounter.hit': { | |
| 92 | - 'Meta': {'unique_together': "(('content_type', 'object_pk'),)", 'object_name': 'Hit'}, | |
| 93 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 94 | - 'created': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}), | |
| 95 | - 'hits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), | |
| 96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'object_pk': ('django.db.models.fields.CharField', [], {'max_length': '256'}), | |
| 98 | - 'updated': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'db_index': 'True', 'blank': 'True'}) | |
| 99 | - }, | |
| 100 | - u'super_archives.emailaddress': { | |
| 101 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 102 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 103 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 105 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 106 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 107 | - }, | |
| 108 | - u'super_archives.emailaddressvalidation': { | |
| 109 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
| 110 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 111 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 112 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 113 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 114 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'60d2bcbd9d924d9f8139c2d1227223ed'", 'max_length': '32', 'null': 'True'}) | |
| 115 | - }, | |
| 116 | - u'super_archives.keyword': { | |
| 117 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
| 118 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 119 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
| 120 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
| 121 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
| 122 | - }, | |
| 123 | - u'super_archives.mailinglist': { | |
| 124 | - 'Meta': {'object_name': 'MailingList'}, | |
| 125 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 126 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 127 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 128 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 129 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 130 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 131 | - }, | |
| 132 | - u'super_archives.mailinglistmembership': { | |
| 133 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 134 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 135 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 136 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 137 | - }, | |
| 138 | - u'super_archives.message': { | |
| 139 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 140 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 141 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 142 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 143 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 144 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
| 145 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 146 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 147 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 148 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 149 | - }, | |
| 150 | - u'super_archives.messageblock': { | |
| 151 | - 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
| 152 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 153 | - 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
| 154 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
| 155 | - 'order': ('django.db.models.fields.IntegerField', [], {}), | |
| 156 | - 'text': ('django.db.models.fields.TextField', [], {}) | |
| 157 | - }, | |
| 158 | - u'super_archives.messagemetadata': { | |
| 159 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 160 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 161 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 162 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 163 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 164 | - }, | |
| 165 | - u'super_archives.pagehit': { | |
| 166 | - 'Meta': {'object_name': 'PageHit'}, | |
| 167 | - 'hit_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 168 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 169 | - 'url_path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}) | |
| 170 | - }, | |
| 171 | - u'super_archives.thread': { | |
| 172 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 173 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 174 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 175 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 176 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 177 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 178 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 179 | - }, | |
| 180 | - u'super_archives.vote': { | |
| 181 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 182 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 183 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 184 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 185 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 186 | - } | |
| 187 | - } | |
| 188 | - | |
| 189 | - complete_apps = ['hitcounter', 'super_archives'] | |
| 190 | - symmetrical = True |
src/super_archives/migrations/0021_auto__del_pagehit.py
| ... | ... | @@ -1,152 +0,0 @@ |
| 1 | -# -*- coding: utf-8 -*- | |
| 2 | -import datetime | |
| 3 | -from south.db import db | |
| 4 | -from south.v2 import SchemaMigration | |
| 5 | -from django.db import models | |
| 6 | - | |
| 7 | - | |
| 8 | -class Migration(SchemaMigration): | |
| 9 | - | |
| 10 | - def forwards(self, orm): | |
| 11 | - # Deleting model 'PageHit' | |
| 12 | - db.delete_table(u'super_archives_pagehit') | |
| 13 | - | |
| 14 | - | |
| 15 | - def backwards(self, orm): | |
| 16 | - # Adding model 'PageHit' | |
| 17 | - db.create_table(u'super_archives_pagehit', ( | |
| 18 | - (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | |
| 19 | - ('hit_count', self.gf('django.db.models.fields.IntegerField')(default=0)), | |
| 20 | - ('url_path', self.gf('django.db.models.fields.CharField')(max_length=2048, unique=True, db_index=True)), | |
| 21 | - )) | |
| 22 | - db.send_create_signal(u'super_archives', ['PageHit']) | |
| 23 | - | |
| 24 | - | |
| 25 | - models = { | |
| 26 | - u'accounts.user': { | |
| 27 | - 'Meta': {'object_name': 'User'}, | |
| 28 | - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 29 | - 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | |
| 30 | - 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 31 | - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 32 | - 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | |
| 33 | - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | |
| 34 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 35 | - 'institution': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 36 | - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | |
| 37 | - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 38 | - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 39 | - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | |
| 40 | - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | |
| 41 | - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | |
| 42 | - 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 43 | - 'twitter': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | |
| 44 | - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}), | |
| 45 | - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), | |
| 46 | - 'verification_hash': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}), | |
| 47 | - 'webpage': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}) | |
| 48 | - }, | |
| 49 | - u'auth.group': { | |
| 50 | - 'Meta': {'object_name': 'Group'}, | |
| 51 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 52 | - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | |
| 53 | - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | |
| 54 | - }, | |
| 55 | - u'auth.permission': { | |
| 56 | - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | |
| 57 | - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 58 | - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | |
| 59 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 60 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
| 61 | - }, | |
| 62 | - u'contenttypes.contenttype': { | |
| 63 | - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
| 64 | - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 65 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 66 | - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
| 67 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
| 68 | - }, | |
| 69 | - u'super_archives.emailaddress': { | |
| 70 | - 'Meta': {'ordering': "('id',)", 'object_name': 'EmailAddress'}, | |
| 71 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 72 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 73 | - 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | |
| 74 | - 'real_name': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '64', 'blank': 'True'}), | |
| 75 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['accounts.User']"}) | |
| 76 | - }, | |
| 77 | - u'super_archives.emailaddressvalidation': { | |
| 78 | - 'Meta': {'unique_together': "(('user', 'address'),)", 'object_name': 'EmailAddressValidation'}, | |
| 79 | - 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | |
| 80 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 81 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 82 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'emails_not_validated'", 'null': 'True', 'to': u"orm['accounts.User']"}), | |
| 83 | - 'validation_key': ('django.db.models.fields.CharField', [], {'default': "'dabb0135cf6c436da11caf5dac7e8c10'", 'max_length': '32', 'null': 'True'}) | |
| 84 | - }, | |
| 85 | - u'super_archives.keyword': { | |
| 86 | - 'Meta': {'ordering': "('?',)", 'object_name': 'Keyword'}, | |
| 87 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 88 | - 'keyword': ('django.db.models.fields.CharField', [], {'max_length': "'128'"}), | |
| 89 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']"}), | |
| 90 | - 'weight': ('django.db.models.fields.IntegerField', [], {'default': '0'}) | |
| 91 | - }, | |
| 92 | - u'super_archives.mailinglist': { | |
| 93 | - 'Meta': {'object_name': 'MailingList'}, | |
| 94 | - 'description': ('django.db.models.fields.TextField', [], {}), | |
| 95 | - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | |
| 96 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 97 | - 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 98 | - 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | |
| 99 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | |
| 100 | - }, | |
| 101 | - u'super_archives.mailinglistmembership': { | |
| 102 | - 'Meta': {'object_name': 'MailingListMembership'}, | |
| 103 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 104 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 105 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 106 | - }, | |
| 107 | - u'super_archives.message': { | |
| 108 | - 'Meta': {'ordering': "('received_time',)", 'unique_together': "(('thread', 'message_id'),)", 'object_name': 'Message'}, | |
| 109 | - 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | |
| 110 | - 'from_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.EmailAddress']"}), | |
| 111 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 112 | - 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 113 | - 'received_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}), | |
| 114 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 115 | - 'subject': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 116 | - 'subject_clean': ('django.db.models.fields.CharField', [], {'max_length': '512', 'db_index': 'True'}), | |
| 117 | - 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Thread']", 'null': 'True'}) | |
| 118 | - }, | |
| 119 | - u'super_archives.messageblock': { | |
| 120 | - 'Meta': {'ordering': "('order',)", 'object_name': 'MessageBlock'}, | |
| 121 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 122 | - 'is_reply': ('django.db.models.fields.BooleanField', [], {}), | |
| 123 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'blocks'", 'to': u"orm['super_archives.Message']"}), | |
| 124 | - 'order': ('django.db.models.fields.IntegerField', [], {}), | |
| 125 | - 'text': ('django.db.models.fields.TextField', [], {}) | |
| 126 | - }, | |
| 127 | - u'super_archives.messagemetadata': { | |
| 128 | - 'Message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 129 | - 'Meta': {'object_name': 'MessageMetadata'}, | |
| 130 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 131 | - 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | |
| 132 | - 'value': ('django.db.models.fields.TextField', [], {}) | |
| 133 | - }, | |
| 134 | - u'super_archives.thread': { | |
| 135 | - 'Meta': {'unique_together': "(('subject_token', 'mailinglist'),)", 'object_name': 'Thread'}, | |
| 136 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 137 | - 'latest_message': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'+'", 'unique': 'True', 'null': 'True', 'to': u"orm['super_archives.Message']"}), | |
| 138 | - 'mailinglist': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.MailingList']"}), | |
| 139 | - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | |
| 140 | - 'spam': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | |
| 141 | - 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | |
| 142 | - }, | |
| 143 | - u'super_archives.vote': { | |
| 144 | - 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | |
| 145 | - 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | |
| 146 | - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
| 147 | - 'message': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['super_archives.Message']"}), | |
| 148 | - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['accounts.User']"}) | |
| 149 | - } | |
| 150 | - } | |
| 151 | - | |
| 152 | - complete_apps = ['super_archives'] | |
| 153 | 0 | \ No newline at end of file |