root / peers / migrations / 0002_auto__chg_field_peer_peer_id.py @ bff77975
History | View | Annotate | Download (2.7 kB)
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 |
# Probably due to a MySQL bug, the AutoField is not created properly and raises a
|
9 |
# "Warning 1364: Field 'peer_id' doesn't have a default value" exception on inserts via Django admin.
|
10 |
# This does not make sense... No exception comes up once insterts are done via MySQL cli or phpmyadmin
|
11 |
# What seems to cause this issue is a South generated sql query:
|
12 |
# ALTER TABLE `peer` ALTER COLUMN `peer_id` DROP DEFAULT;
|
13 |
# will have to override _alter_set_defaults
|
14 |
def new_alter_columns_set_default(field, name, params, sqls): |
15 |
return
|
16 |
|
17 |
db._alter_set_defaults = new_alter_columns_set_default |
18 |
|
19 |
class Migration(SchemaMigration): |
20 |
|
21 |
def forwards(self, orm): |
22 |
|
23 |
# Changing field 'Peer.peer_id'
|
24 |
db.alter_column(u'peer', 'peer_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)) |
25 |
|
26 |
def backwards(self, orm): |
27 |
|
28 |
# Changing field 'Peer.peer_id'
|
29 |
db.alter_column(u'peer', 'peer_id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)) |
30 |
|
31 |
models = { |
32 |
'peers.peer': {
|
33 |
'Meta': {'ordering': "['peer_name']", 'object_name': 'Peer', 'db_table': "u'peer'"}, |
34 |
'domain_name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
35 |
'networks': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['peers.PeerRange']", 'null': 'True', 'blank': 'True'}), |
36 |
'peer_as': ('django.db.models.fields.IntegerField', [], {}), |
37 |
'peer_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
38 |
'peer_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
39 |
'peer_tag': ('django.db.models.fields.CharField', [], {'max_length': '64'}), |
40 |
'techc_emails': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['peers.TechcEmail']", 'null': 'True', 'blank': 'True'}) |
41 |
}, |
42 |
'peers.peerrange': {
|
43 |
'Meta': {'ordering': "['network']", 'object_name': 'PeerRange', 'db_table': "u'peer_range'"}, |
44 |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
45 |
'network': ('django.db.models.fields.CharField', [], {'max_length': '128'}) |
46 |
}, |
47 |
'peers.techcemail': {
|
48 |
'Meta': {'object_name': 'TechcEmail', 'db_table': "'techc_email'"}, |
49 |
'email': ('django.db.models.fields.CharField', [], {'max_length': '352', 'db_column': "'email'"}), |
50 |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) |
51 |
} |
52 |
} |
53 |
|
54 |
complete_apps = ['peers']
|