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,6 +43,10 @@ to get results: natively in XML or JSON, PHP, Ruby and Python and then treatment | ||
| 43 | Installation (Development Environment) | 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 | Here we'll cover how to setup a development environment using a Vagrant | 50 | Here we'll cover how to setup a development environment using a Vagrant |
| 47 | virtual machine. | 51 | virtual machine. |
| 48 | 52 | ||
| @@ -64,7 +68,7 @@ First you will need to clone the repository: | @@ -64,7 +68,7 @@ First you will need to clone the repository: | ||
| 64 | 68 | ||
| 65 | .. code-block:: | 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 | *NOTE:* | 74 | *NOTE:* |
| @@ -0,0 +1,214 @@ | @@ -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 | \ No newline at end of file | 215 | \ No newline at end of file |
| @@ -0,0 +1,116 @@ | @@ -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 | \ No newline at end of file | 117 | \ No newline at end of file |
src/accounts/migrations/0001_rename_auth_user_to_accounts_user.py
| @@ -1,59 +0,0 @@ | @@ -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,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,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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/accounts/migrations/0004_copy_profile_data.py
| @@ -1,81 +0,0 @@ | @@ -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,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,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,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,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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/accounts/migrations/0009_auto__add_field_user_identi_ca.py
| @@ -1,71 +0,0 @@ | @@ -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 | \ No newline at end of file | 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,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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/badger/migrations/0001_initial.py
| @@ -11,13 +11,14 @@ class Migration(SchemaMigration): | @@ -11,13 +11,14 @@ class Migration(SchemaMigration): | ||
| 11 | # Adding model 'Badge' | 11 | # Adding model 'Badge' |
| 12 | db.create_table(u'badger_badge', ( | 12 | db.create_table(u'badger_badge', ( |
| 13 | (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), | 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 | ('type', self.gf('django.db.models.fields.CharField')(max_length=200)), | 17 | ('type', self.gf('django.db.models.fields.CharField')(max_length=200)), |
| 18 | ('user_attr', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), | 18 | ('user_attr', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), |
| 19 | ('comparison', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), | 19 | ('comparison', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), |
| 20 | ('value', self.gf('django.db.models.fields.PositiveSmallIntegerField')(null=True, blank=True)), | 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 | db.send_create_signal(u'badger', ['Badge']) | 23 | db.send_create_signal(u'badger', ['Badge']) |
| 23 | 24 | ||
| @@ -30,22 +31,43 @@ class Migration(SchemaMigration): | @@ -30,22 +31,43 @@ class Migration(SchemaMigration): | ||
| 30 | )) | 31 | )) |
| 31 | db.create_unique(m2m_table_name, ['badge_id', 'user_id']) | 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 | def backwards(self, orm): | 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 | # Deleting model 'Badge' | 52 | # Deleting model 'Badge' |
| 36 | db.delete_table(u'badger_badge') | 53 | db.delete_table(u'badger_badge') |
| 37 | 54 | ||
| 38 | # Removing M2M table for field awardees on 'Badge' | 55 | # Removing M2M table for field awardees on 'Badge' |
| 39 | db.delete_table(db.shorten_name(u'badger_badge_awardees')) | 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 | models = { | 62 | models = { |
| 43 | u'accounts.user': { | 63 | u'accounts.user': { |
| 44 | 'Meta': {'object_name': 'User'}, | 64 | 'Meta': {'object_name': 'User'}, |
| 65 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | ||
| 45 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | 66 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
| 46 | 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), | 67 | 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}), |
| 47 | 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | 68 | 'facebook': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
| 48 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | 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 | 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), | 71 | 'google_talk': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), |
| 50 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), | 72 | 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}), |
| 51 | u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | 73 | u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
| @@ -55,6 +77,7 @@ class Migration(SchemaMigration): | @@ -55,6 +77,7 @@ class Migration(SchemaMigration): | ||
| 55 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | 77 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
| 56 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | 78 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
| 57 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | 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 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | 81 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
| 59 | 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), | 82 | 'role': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
| 60 | 'twitter': ('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'}), |
| @@ -77,17 +100,26 @@ class Migration(SchemaMigration): | @@ -77,17 +100,26 @@ class Migration(SchemaMigration): | ||
| 77 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | 100 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) |
| 78 | }, | 101 | }, |
| 79 | u'badger.badge': { | 102 | u'badger.badge': { |
| 80 | - 'Meta': {'object_name': 'Badge'}, | 103 | + 'Meta': {'ordering': "['order']", 'object_name': 'Badge'}, |
| 81 | 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), | 104 | 'awardees': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['accounts.User']", 'null': 'True', 'blank': 'True'}), |
| 82 | 'comparison': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), | 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 | u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | 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 | 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), | 111 | 'type': ('django.db.models.fields.CharField', [], {'max_length': '200'}), |
| 88 | 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), | 112 | 'user_attr': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), |
| 89 | 'value': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}) | 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 | u'contenttypes.contenttype': { | 123 | u'contenttypes.contenttype': { |
| 92 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | 124 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
| 93 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | 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,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 | \ No newline at end of file | 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,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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/badger/migrations/0004_auto__add_field_badge_order.py
| @@ -1,89 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/badger/migrations/0005_auto__add_field_badge_image_base64.py
| @@ -1,91 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/badger/migrations/0006_imgpath_to_base64_field.py
| @@ -1,94 +0,0 @@ | @@ -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,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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/proxy/migrations/0001_create_views.py
| @@ -1,115 +0,0 @@ | @@ -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 @@ | @@ -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 | \ No newline at end of file | 80 | \ No newline at end of file |
src/proxy/migrations/0002_add_key_to_revision_view.py
| @@ -1,79 +0,0 @@ | @@ -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,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,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,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,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 | import datetime | 2 | import datetime |
| 3 | from south.db import db | 3 | from south.db import db |
| 4 | from south.v2 import SchemaMigration | 4 | from south.v2 import SchemaMigration |
| 5 | from django.db import models | 5 | from django.db import models |
| 6 | 6 | ||
| 7 | + | ||
| 7 | class Migration(SchemaMigration): | 8 | class Migration(SchemaMigration): |
| 8 | 9 | ||
| 9 | def forwards(self, orm): | 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 | # Adding model 'EmailAddress' | 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 | ('address', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=75)), | 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 | ('md5', self.gf('django.db.models.fields.CharField')(max_length=32, null=True)), | 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 | # Adding model 'MailingList' | 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 | ('name', self.gf('django.db.models.fields.CharField')(max_length=80)), | 37 | ('name', self.gf('django.db.models.fields.CharField')(max_length=80)), |
| 46 | ('email', self.gf('django.db.models.fields.EmailField')(max_length=75)), | 38 | ('email', self.gf('django.db.models.fields.EmailField')(max_length=75)), |
| 47 | ('description', self.gf('django.db.models.fields.TextField')()), | 39 | ('description', self.gf('django.db.models.fields.TextField')()), |
| 48 | ('logo', self.gf('django.db.models.fields.files.FileField')(max_length=100)), | 40 | ('logo', self.gf('django.db.models.fields.files.FileField')(max_length=100)), |
| 49 | ('last_imported_index', self.gf('django.db.models.fields.IntegerField')(default=0)), | 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 | # Adding model 'MailingListMembership' | 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 | ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), | 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 | # Adding model 'Thread' | 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 | ('subject_token', self.gf('django.db.models.fields.CharField')(max_length=512)), | 65 | ('subject_token', self.gf('django.db.models.fields.CharField')(max_length=512)), |
| 65 | ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), | 66 | ('mailinglist', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.MailingList'])), |
| 66 | ('latest_message', self.gf('django.db.models.fields.related.OneToOneField')(related_name='+', unique=True, null=True, to=orm['super_archives.Message'])), | 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 | # Adding unique constraint on 'Thread', fields ['subject_token', 'mailinglist'] | 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 | # Adding model 'Vote' | 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 | ('message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Message'])), | 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 | # Adding unique constraint on 'Vote', fields ['user', 'message'] | 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 | # Adding model 'Message' | 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 | ('from_address', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.EmailAddress'])), | 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 | ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Thread'], null=True)), | 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 | ('body', self.gf('django.db.models.fields.TextField')(default='')), | 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 | ('message_id', self.gf('django.db.models.fields.CharField')(max_length=512)), | 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 | # Adding model 'MessageMetadata' | 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 | ('Message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Message'])), | 118 | ('Message', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['super_archives.Message'])), |
| 102 | ('name', self.gf('django.db.models.fields.CharField')(max_length=512)), | 119 | ('name', self.gf('django.db.models.fields.CharField')(max_length=512)), |
| 103 | ('value', self.gf('django.db.models.fields.TextField')()), | 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 | def backwards(self, orm): | 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 | # Removing unique constraint on 'Vote', fields ['user', 'message'] | 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 | # Removing unique constraint on 'Thread', fields ['subject_token', 'mailinglist'] | 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 | # Deleting model 'MailingList' | 144 | # Deleting model 'MailingList' |
| 126 | - db.delete_table('super_archives_mailinglist') | 145 | + db.delete_table(u'super_archives_mailinglist') |
| 127 | 146 | ||
| 128 | # Deleting model 'MailingListMembership' | 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 | # Deleting model 'Thread' | 153 | # Deleting model 'Thread' |
| 132 | - db.delete_table('super_archives_thread') | 154 | + db.delete_table(u'super_archives_thread') |
| 133 | 155 | ||
| 134 | # Deleting model 'Vote' | 156 | # Deleting model 'Vote' |
| 135 | - db.delete_table('super_archives_vote') | 157 | + db.delete_table(u'super_archives_vote') |
| 136 | 158 | ||
| 137 | # Deleting model 'Message' | 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 | # Deleting model 'MessageMetadata' | 165 | # Deleting model 'MessageMetadata' |
| 141 | - db.delete_table('super_archives_messagemetadata') | 166 | + db.delete_table(u'super_archives_messagemetadata') |
| 142 | 167 | ||
| 143 | 168 | ||
| 144 | models = { | 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 | 'Meta': {'object_name': 'User'}, | 171 | 'Meta': {'object_name': 'User'}, |
| 172 | + 'bio': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), | ||
| 160 | 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | 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 | 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | 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 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | 182 | 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
| 166 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | 183 | 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
| 167 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | 184 | 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
| 168 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | 185 | 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), |
| 169 | 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | 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 | 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | 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 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | 210 | 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, |
| 176 | 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | 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 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | 213 | 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
| 179 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | 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 | 'address': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75'}), | 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 | 'md5': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), | 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 | 'Meta': {'object_name': 'MailingList'}, | 240 | 'Meta': {'object_name': 'MailingList'}, |
| 191 | 'description': ('django.db.models.fields.TextField', [], {}), | 241 | 'description': ('django.db.models.fields.TextField', [], {}), |
| 192 | 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), | 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 | 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), | 244 | 'last_imported_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
| 195 | 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | 245 | 'logo': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), |
| 196 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) | 246 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '80'}) |
| 197 | }, | 247 | }, |
| 198 | - 'super_archives.mailinglistmembership': { | 248 | + u'super_archives.mailinglistmembership': { |
| 199 | 'Meta': {'object_name': 'MailingListMembership'}, | 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 | 'body': ('django.db.models.fields.TextField', [], {'default': "''"}), | 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 | 'message_id': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | 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 | 'Meta': {'object_name': 'MessageMetadata'}, | 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 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), | 278 | 'name': ('django.db.models.fields.CharField', [], {'max_length': '512'}), |
| 221 | 'value': ('django.db.models.fields.TextField', [], {}) | 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 | 'subject_token': ('django.db.models.fields.CharField', [], {'max_length': '512'}) | 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 | 'Meta': {'unique_together': "(('user', 'message'),)", 'object_name': 'Vote'}, | 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 | - complete_apps = ['super_archives'] | 299 | - complete_apps = ['super_archives'] |
| 300 | + complete_apps = ['super_archives'] | ||
| 256 | \ No newline at end of file | 301 | \ No newline at end of file |
src/super_archives/migrations/0002_auto__add_field_userprofile_verification_hash.py
| @@ -1,133 +0,0 @@ | @@ -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,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,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,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,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,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,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,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,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,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 | \ No newline at end of file | 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,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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0013_auto__add_emailaddressvalidation.py
| @@ -1,145 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0014_auto__chg_field_emailaddressvalidation_validation_key.py
| @@ -1,138 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0015_auto__chg_field_emailaddress_user.py
| @@ -1,138 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0016_auto__add_unique_emailaddressvalidation_user_address.py
| @@ -1,138 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0017_auto__add_keyword.py
| @@ -1,151 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0018_auto__add_index_message_received_time.py
| @@ -1,145 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0019_auto__add_messageblock.py
| @@ -1,160 +0,0 @@ | @@ -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 | \ No newline at end of file | 0 | \ No newline at end of file |
src/super_archives/migrations/0020_pagehit_to_hitcounter.py
| @@ -1,190 +0,0 @@ | @@ -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,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 | \ No newline at end of file | 0 | \ No newline at end of file |