Skip to content

Commit 5fe4029

Browse files
committed
Update migrations
Move existing migrations to south_migrations and add new Django-supported migrations in their place.
1 parent 59a78c5 commit 5fe4029

File tree

4 files changed

+233
-158
lines changed

4 files changed

+233
-158
lines changed
Lines changed: 74 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -1,159 +1,75 @@
11
# -*- 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-
try:
8-
from django.contrib.auth import get_user_model
9-
except ImportError: # django < 1.5
10-
from django.contrib.auth.models import User
11-
else:
12-
User = get_user_model()
13-
14-
from oauth2_provider.models import get_application_model
15-
ApplicationModel = get_application_model()
16-
17-
18-
class Migration(SchemaMigration):
19-
20-
def forwards(self, orm):
21-
# Adding model 'Application'
22-
db.create_table(u'oauth2_provider_application', (
23-
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
24-
('client_id', self.gf('django.db.models.fields.CharField')(default='284250a821f74df67cb50b6c2b7fc95d39d0e4a9', unique=True, max_length=100)),
25-
('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm["%s.%s" % (User._meta.app_label, User._meta.object_name)])),
26-
('redirect_uris', self.gf('django.db.models.fields.TextField')(blank=True)),
27-
('client_type', self.gf('django.db.models.fields.CharField')(max_length=32)),
28-
('authorization_grant_type', self.gf('django.db.models.fields.CharField')(max_length=32)),
29-
('client_secret', self.gf('django.db.models.fields.CharField')(default='89288b8343edef095b5fee98b4def28409cf4e064fcd26b00c555f51d8fdabfcaedbae8b9d6739080cf27d216e13cc85133d794c9cc1018e0d116c951f0b865e', max_length=255, blank=True)),
30-
('name', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)),
31-
))
32-
db.send_create_signal(u'oauth2_provider', ['Application'])
33-
34-
# Adding model 'Grant'
35-
db.create_table(u'oauth2_provider_grant', (
36-
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
37-
('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm["%s.%s" % (User._meta.app_label, User._meta.object_name)])),
38-
('code', self.gf('django.db.models.fields.CharField')(max_length=255)),
39-
('application', self.gf('django.db.models.fields.related.ForeignKey')(to=orm["%s.%s" % (ApplicationModel._meta.app_label, ApplicationModel._meta.object_name)])),
40-
('expires', self.gf('django.db.models.fields.DateTimeField')()),
41-
('redirect_uri', self.gf('django.db.models.fields.CharField')(max_length=255)),
42-
('scope', self.gf('django.db.models.fields.TextField')(blank=True)),
43-
))
44-
db.send_create_signal(u'oauth2_provider', ['Grant'])
45-
46-
# Adding model 'AccessToken'
47-
db.create_table(u'oauth2_provider_accesstoken', (
48-
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
49-
('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm["%s.%s" % (User._meta.app_label, User._meta.object_name)])),
50-
('token', self.gf('django.db.models.fields.CharField')(max_length=255)),
51-
('application', self.gf('django.db.models.fields.related.ForeignKey')(to=orm["%s.%s" % (ApplicationModel._meta.app_label, ApplicationModel._meta.object_name)])),
52-
('expires', self.gf('django.db.models.fields.DateTimeField')()),
53-
('scope', self.gf('django.db.models.fields.TextField')(blank=True)),
54-
))
55-
db.send_create_signal(u'oauth2_provider', ['AccessToken'])
56-
57-
# Adding model 'RefreshToken'
58-
db.create_table(u'oauth2_provider_refreshtoken', (
59-
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
60-
('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm["%s.%s" % (User._meta.app_label, User._meta.object_name)])),
61-
('token', self.gf('django.db.models.fields.CharField')(max_length=255)),
62-
('application', self.gf('django.db.models.fields.related.ForeignKey')(to=orm["%s.%s" % (ApplicationModel._meta.app_label, ApplicationModel._meta.object_name)])),
63-
('access_token', self.gf('django.db.models.fields.related.OneToOneField')(related_name='refresh_token', unique=True, to=orm['oauth2_provider.AccessToken'])),
64-
))
65-
db.send_create_signal(u'oauth2_provider', ['RefreshToken'])
66-
67-
68-
def backwards(self, orm):
69-
# Deleting model 'Application'
70-
db.delete_table(u'oauth2_provider_application')
71-
72-
# Deleting model 'Grant'
73-
db.delete_table(u'oauth2_provider_grant')
74-
75-
# Deleting model 'AccessToken'
76-
db.delete_table(u'oauth2_provider_accesstoken')
77-
78-
# Deleting model 'RefreshToken'
79-
db.delete_table(u'oauth2_provider_refreshtoken')
80-
81-
82-
models = {
83-
u'auth.group': {
84-
'Meta': {'object_name': 'Group'},
85-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
86-
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
87-
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
88-
},
89-
u'auth.permission': {
90-
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
91-
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
92-
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
93-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
94-
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
95-
},
96-
u"%s.%s" % (User._meta.app_label, User._meta.object_name): {
97-
'Meta': {'object_name': User.__name__},
98-
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
99-
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
100-
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
101-
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
102-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
103-
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
104-
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
105-
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
106-
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
107-
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
108-
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
109-
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
110-
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
111-
},
112-
u'contenttypes.contenttype': {
113-
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
114-
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
115-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
116-
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
117-
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
118-
},
119-
u'oauth2_provider.accesstoken': {
120-
'Meta': {'object_name': 'AccessToken'},
121-
'application': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['%s.%s']"% (ApplicationModel._meta.app_label, ApplicationModel._meta.object_name)}),
122-
'expires': ('django.db.models.fields.DateTimeField', [], {}),
123-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
124-
'scope': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
125-
'token': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
126-
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['%s.%s']"% (User._meta.app_label, User._meta.object_name)})
127-
},
128-
u"%s.%s" % (ApplicationModel._meta.app_label, ApplicationModel._meta.object_name): {
129-
'Meta': {'object_name': ApplicationModel.__name__},
130-
'authorization_grant_type': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
131-
'client_id': ('django.db.models.fields.CharField', [], {'default': "'30f17d266183cd455bc57ce8548a439db3491353'", 'unique': 'True', 'max_length': '100'}),
132-
'client_secret': ('django.db.models.fields.CharField', [], {'default': "'18e68df61ad8e1af355644ddf6a636b269b6309aafbd2a34d4f5ed6c5562e44c0792c5b2441571e85cbf8a85249dca5537dedb6fd6f60e134f4a60f3865c8395'", 'max_length': '255', 'blank': 'True'}),
133-
'client_type': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
134-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
135-
'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
136-
'redirect_uris': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
137-
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['%s.%s']"% (User._meta.app_label, User._meta.object_name)})
138-
},
139-
u'oauth2_provider.grant': {
140-
'Meta': {'object_name': 'Grant'},
141-
'application': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['%s.%s']"% (ApplicationModel._meta.app_label, ApplicationModel._meta.object_name)}),
142-
'code': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
143-
'expires': ('django.db.models.fields.DateTimeField', [], {}),
144-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
145-
'redirect_uri': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
146-
'scope': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
147-
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['%s.%s']"% (User._meta.app_label, User._meta.object_name)})
148-
},
149-
u'oauth2_provider.refreshtoken': {
150-
'Meta': {'object_name': 'RefreshToken'},
151-
'access_token': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'refresh_token'", 'unique': 'True', 'to': u"orm['oauth2_provider.AccessToken']"}),
152-
'application': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['%s.%s']"% (ApplicationModel._meta.app_label, ApplicationModel._meta.object_name)}),
153-
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
154-
'token': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
155-
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['%s.%s']"% (User._meta.app_label, User._meta.object_name)})
156-
}
157-
}
158-
159-
complete_apps = ['oauth2_provider']
2+
from __future__ import unicode_literals
3+
4+
from django.db import models, migrations
5+
from django.conf import settings
6+
import oauth2_provider.generators
7+
import oauth2_provider.validators
8+
9+
10+
class Migration(migrations.Migration):
11+
12+
dependencies = [
13+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
14+
]
15+
16+
operations = [
17+
migrations.CreateModel(
18+
name='AccessToken',
19+
fields=[
20+
('id', models.AutoField(primary_key=True, verbose_name='ID', auto_created=True, serialize=False)),
21+
('token', models.CharField(max_length=255, db_index=True)),
22+
('expires', models.DateTimeField()),
23+
('scope', models.TextField(blank=True)),
24+
],
25+
),
26+
migrations.CreateModel(
27+
name='Application',
28+
fields=[
29+
('id', models.AutoField(primary_key=True, verbose_name='ID', auto_created=True, serialize=False)),
30+
('client_id', models.CharField(default=oauth2_provider.generators.generate_client_id, unique=True, max_length=100, db_index=True)),
31+
('redirect_uris', models.TextField(validators=[oauth2_provider.validators.validate_uris], help_text='Allowed URIs list, space separated', blank=True)),
32+
('client_type', models.CharField(max_length=32, choices=[('confidential', 'Confidential'), ('public', 'Public')])),
33+
('authorization_grant_type', models.CharField(max_length=32, choices=[('authorization-code', 'Authorization code'), ('implicit', 'Implicit'), ('password', 'Resource owner password-based'), ('client-credentials', 'Client credentials')])),
34+
('client_secret', models.CharField(default=oauth2_provider.generators.generate_client_secret, blank=True, max_length=255, db_index=True)),
35+
('name', models.CharField(blank=True, max_length=255)),
36+
('skip_authorization', models.BooleanField(default=False)),
37+
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL, related_name='oauth2_provider_application')),
38+
],
39+
options={
40+
'abstract': False,
41+
},
42+
),
43+
migrations.CreateModel(
44+
name='Grant',
45+
fields=[
46+
('id', models.AutoField(primary_key=True, verbose_name='ID', auto_created=True, serialize=False)),
47+
('code', models.CharField(max_length=255, db_index=True)),
48+
('expires', models.DateTimeField()),
49+
('redirect_uri', models.CharField(max_length=255)),
50+
('scope', models.TextField(blank=True)),
51+
('application', models.ForeignKey(to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL)),
52+
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
53+
],
54+
),
55+
migrations.CreateModel(
56+
name='RefreshToken',
57+
fields=[
58+
('id', models.AutoField(primary_key=True, verbose_name='ID', auto_created=True, serialize=False)),
59+
('token', models.CharField(max_length=255, db_index=True)),
60+
('access_token', models.OneToOneField(to='oauth2_provider.AccessToken', related_name='refresh_token')),
61+
('application', models.ForeignKey(to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL)),
62+
('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
63+
],
64+
),
65+
migrations.AddField(
66+
model_name='accesstoken',
67+
name='application',
68+
field=models.ForeignKey(to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL),
69+
),
70+
migrations.AddField(
71+
model_name='accesstoken',
72+
name='user',
73+
field=models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True, blank=True),
74+
),
75+
]

0 commit comments

Comments
 (0)