Postgresql needed the default FlowCellModel to be created before adding the column
[htsworkflow.git] / htsworkflow / frontend / experiments / migrations / 0002_auto__add_flowcelltype.py
1 # -*- coding: utf-8 -*-
2 from south.utils import datetime_utils as 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 'FlowCellModel'
12         db.create_table(u'experiments_flowcellmodel', (
13             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
14             ('name', self.gf('django.db.models.fields.TextField')()),
15             ('fixed_time', self.gf('django.db.models.fields.IntegerField')(default=0)),
16             ('per_cycle_time', self.gf('django.db.models.fields.IntegerField')(default=0)),
17             ('isdefault', self.gf('django.db.models.fields.BooleanField')(default=False)),
18         ))
19         db.send_create_signal(u'experiments', ['FlowCellModel'])
20
21         default = orm.FlowCellModel.objects.create()
22         default.id = 1
23         default.name = 'classic'
24         default.fixed_time = 800
25         default.per_cycle_time = 800
26         default.isdefault = True
27         default.save()
28         
29         # Adding field 'FlowCell.flowcell_model'
30         db.add_column(u'experiments_flowcell', 'flowcell_model',
31                       self.gf('django.db.models.fields.related.ForeignKey')(default=1, to=orm['experiments.FlowCellModel']),
32                       keep_default=False)
33
34
35     def backwards(self, orm):
36         # Deleting model 'FlowCellModel'
37         db.delete_table(u'experiments_flowcellmodel')
38
39         # Deleting field 'FlowCell.flowcell_model'
40         db.delete_column(u'experiments_flowcell', 'flowcell_model_id')
41
42
43     models = {
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'auth.user': {
58             'Meta': {'object_name': 'User'},
59             'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
60             'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
61             'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
62             'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
63             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
64             'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
65             'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
66             'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
67             'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
68             'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
69             'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
70             'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
71             'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
72         },
73         u'contenttypes.contenttype': {
74             'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
75             'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
76             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
77             'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
78             'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
79         },
80         u'experiments.clusterstation': {
81             'Meta': {'ordering': "['-isdefault', 'name']", 'object_name': 'ClusterStation'},
82             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
83             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
84             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
85         },
86         u'experiments.datafile': {
87             'Meta': {'object_name': 'DataFile'},
88             'data_run': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.DataRun']"}),
89             'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FileType']"}),
90             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
91             'library': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Library']", 'null': 'True', 'blank': 'True'}),
92             'random_key': ('django.db.models.fields.CharField', [], {'default': "'0bbbaa1c-82f1-11e3-82b3-f0def16fbea3'", 'max_length': '64', 'db_index': 'True'}),
93             'relative_pathname': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
94         },
95         u'experiments.datarun': {
96             'Meta': {'object_name': 'DataRun'},
97             'alignment_software': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
98             'alignment_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
99             'basecall_software': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
100             'basecall_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
101             'comment': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
102             'cycle_start': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
103             'cycle_stop': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
104             'flowcell': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FlowCell']"}),
105             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
106             'image_software': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
107             'image_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
108             'last_update_time': ('django.db.models.fields.DateTimeField', [], {}),
109             'result_dir': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
110             'run_start_time': ('django.db.models.fields.DateTimeField', [], {}),
111             'run_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
112             'runfolder_name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
113         },
114         u'experiments.filetype': {
115             'Meta': {'object_name': 'FileType'},
116             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
117             'mimetype': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
118             'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
119             'regex': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'})
120         },
121         u'experiments.flowcell': {
122             'Meta': {'ordering': "['-run_date']", 'object_name': 'FlowCell'},
123             'advanced_run': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
124             'cluster_station': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.ClusterStation']"}),
125             'control_lane': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
126             'flowcell_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}),
127             'flowcell_model': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['experiments.FlowCellModel']"}),
128             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
129             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
130             'paired_end': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
131             'read_length': ('django.db.models.fields.IntegerField', [], {'default': '32'}),
132             'run_date': ('django.db.models.fields.DateTimeField', [], {}),
133             'sequencer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.Sequencer']"})
134         },
135         u'experiments.flowcellmodel': {
136             'Meta': {'object_name': 'FlowCellModel'},
137             'fixed_time': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
138             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
139             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
140             'name': ('django.db.models.fields.TextField', [], {}),
141             'per_cycle_time': ('django.db.models.fields.IntegerField', [], {'default': '0'})
142         },
143         u'experiments.lane': {
144             'Meta': {'object_name': 'Lane'},
145             'cluster_estimate': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
146             'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
147             'flowcell': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FlowCell']"}),
148             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
149             'lane_number': ('django.db.models.fields.IntegerField', [], {}),
150             'library': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Library']"}),
151             'pM': ('django.db.models.fields.DecimalField', [], {'default': '5', 'max_digits': '5', 'decimal_places': '2'}),
152             'status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
153         },
154         u'experiments.sequencer': {
155             'Meta': {'ordering': "['-isdefault', '-active', 'name']", 'object_name': 'Sequencer'},
156             'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
157             'comment': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
158             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
159             'instrument_name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
160             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
161             'model': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
162             'name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
163             'serial_number': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
164         },
165         u'samples.affiliation': {
166             'Meta': {'ordering': "['name', 'contact']", 'unique_together': "(('name', 'contact'),)", 'object_name': 'Affiliation'},
167             'contact': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
168             'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
169             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
170             'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
171             'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['samples.HTSUser']", 'null': 'True', 'blank': 'True'})
172         },
173         u'samples.antibody': {
174             'Meta': {'ordering': "['antigene']", 'object_name': 'Antibody'},
175             'antibodies': ('django.db.models.fields.CharField', [], {'max_length': '500', 'db_index': 'True'}),
176             'antigene': ('django.db.models.fields.CharField', [], {'max_length': '500', 'db_index': 'True'}),
177             'biology': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
178             'catalog': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
179             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
180             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
181             'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
182             'source': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '500', 'null': 'True', 'blank': 'True'})
183         },
184         u'samples.cellline': {
185             'Meta': {'ordering': "['cellline_name']", 'object_name': 'Cellline'},
186             'cellline_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100', 'db_index': 'True'}),
187             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
188             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
189             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'})
190         },
191         u'samples.condition': {
192             'Meta': {'ordering': "['condition_name']", 'object_name': 'Condition'},
193             'condition_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2000', 'db_index': 'True'}),
194             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
195             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
196             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'})
197         },
198         u'samples.experimenttype': {
199             'Meta': {'object_name': 'ExperimentType'},
200             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
201             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
202         },
203         u'samples.htsuser': {
204             'Meta': {'ordering': "['first_name', 'last_name', 'username']", 'object_name': 'HTSUser', '_ormbases': [u'auth.User']},
205             u'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
206         },
207         u'samples.library': {
208             'Meta': {'ordering': "['-id']", 'object_name': 'Library'},
209             'account_number': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
210             'affiliations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'library_affiliations'", 'null': 'True', 'to': u"orm['samples.Affiliation']"}),
211             'amplified_from_sample': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'amplified_into_sample'", 'null': 'True', 'to': u"orm['samples.Library']"}),
212             'antibody': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Antibody']", 'null': 'True', 'blank': 'True'}),
213             'bioanalyzer_concentration': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '5', 'decimal_places': '2', 'blank': 'True'}),
214             'bioanalyzer_image_url': ('django.db.models.fields.URLField', [], {'default': "''", 'max_length': '200', 'blank': 'True'}),
215             'bioanalyzer_summary': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
216             'cell_line': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Cellline']", 'null': 'True', 'blank': 'True'}),
217             'condition': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Condition']", 'null': 'True', 'blank': 'True'}),
218             'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
219             'experiment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.ExperimentType']"}),
220             'gel_cut_size': ('django.db.models.fields.IntegerField', [], {'default': '225', 'null': 'True', 'blank': 'True'}),
221             'hidden': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
222             'id': ('django.db.models.fields.CharField', [], {'max_length': '10', 'primary_key': 'True'}),
223             'insert_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
224             'library_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
225             'library_species': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Species']"}),
226             'library_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.LibraryType']", 'null': 'True', 'blank': 'True'}),
227             'made_by': ('django.db.models.fields.CharField', [], {'default': "'Lorian'", 'max_length': '50', 'blank': 'True'}),
228             'made_for': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
229             'multiplex_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
230             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
231             'replicate': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
232             'stopping_point': ('django.db.models.fields.CharField', [], {'default': "'Done'", 'max_length': '25'}),
233             'successful_pM': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '9', 'decimal_places': '1', 'blank': 'True'}),
234             'tags': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'library_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['samples.Tag']"}),
235             'ten_nM_dilution': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
236             'undiluted_concentration': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '5', 'decimal_places': '2', 'blank': 'True'})
237         },
238         u'samples.librarytype': {
239             'Meta': {'ordering': "['-id']", 'object_name': 'LibraryType'},
240             'can_multiplex': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
241             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
242             'is_paired_end': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
243             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
244         },
245         u'samples.species': {
246             'Meta': {'ordering': "['scientific_name']", 'object_name': 'Species'},
247             'common_name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
248             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
249             'scientific_name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'})
250         },
251         u'samples.tag': {
252             'Meta': {'ordering': "['context', 'tag_name']", 'object_name': 'Tag'},
253             'context': ('django.db.models.fields.CharField', [], {'default': "'Library'", 'max_length': '50'}),
254             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
255             'tag_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'db_index': 'True'})
256         }
257     }
258
259     complete_apps = ['experiments']