/texter/migrations/0013_auto__add_scheduledsample__add_field_experiment_max_samples_per_day__a.py

https://github.com/njvack/hedonometer_old · Python · 153 lines · 121 code · 19 blank · 13 comment · 0 complexity · 9d484308b6b67f0a3b0a543bea7dbe91 MD5 · raw file

  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. class Migration(SchemaMigration):
  7. def forwards(self, orm):
  8. # Adding model 'ScheduledSample'
  9. db.create_table('texter_scheduledsample', (
  10. ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  11. ('created_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
  12. ('updated_at', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
  13. ('task_day', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['texter.TaskDay'])),
  14. ('scheduled_at', self.gf('django.db.models.fields.DateTimeField')()),
  15. ('run_state', self.gf('django.db.models.fields.CharField')(default='scheduled', max_length=255)),
  16. ))
  17. db.send_create_signal('texter', ['ScheduledSample'])
  18. # Adding field 'Experiment.max_samples_per_day'
  19. db.add_column('texter_experiment', 'max_samples_per_day', self.gf('django.db.models.fields.IntegerField')(default=1), keep_default=False)
  20. # Adding field 'Experiment.min_time_between_samples'
  21. db.add_column('texter_experiment', 'min_time_between_samples', self.gf('django.db.models.fields.IntegerField')(default=3600), keep_default=False)
  22. # Adding field 'Experiment.max_time_between_samples'
  23. db.add_column('texter_experiment', 'max_time_between_samples', self.gf('django.db.models.fields.IntegerField')(default=5400), keep_default=False)
  24. # Adding field 'Experiment.accepted_answer_pattern'
  25. db.add_column('texter_experiment', 'accepted_answer_pattern', self.gf('django.db.models.fields.CharField')(default='.*', max_length=255), keep_default=False)
  26. # Adding field 'Experiment.answer_ignores_case'
  27. db.add_column('texter_experiment', 'answer_ignores_case', self.gf('django.db.models.fields.BooleanField')(default=True), keep_default=False)
  28. def backwards(self, orm):
  29. # Deleting model 'ScheduledSample'
  30. db.delete_table('texter_scheduledsample')
  31. # Deleting field 'Experiment.max_samples_per_day'
  32. db.delete_column('texter_experiment', 'max_samples_per_day')
  33. # Deleting field 'Experiment.min_time_between_samples'
  34. db.delete_column('texter_experiment', 'min_time_between_samples')
  35. # Deleting field 'Experiment.max_time_between_samples'
  36. db.delete_column('texter_experiment', 'max_time_between_samples')
  37. # Deleting field 'Experiment.accepted_answer_pattern'
  38. db.delete_column('texter_experiment', 'accepted_answer_pattern')
  39. # Deleting field 'Experiment.answer_ignores_case'
  40. db.delete_column('texter_experiment', 'answer_ignores_case')
  41. models = {
  42. 'texter.backend': {
  43. 'Meta': {'object_name': 'Backend'},
  44. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  45. 'delegate_classname': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
  46. 'delegate_pk': ('django.db.models.fields.IntegerField', [], {}),
  47. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  48. 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
  49. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
  50. },
  51. 'texter.dummybackend': {
  52. 'Meta': {'object_name': 'DummyBackend'},
  53. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  54. 'handle_request_calls': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  55. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  56. 'send_message_calls': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  57. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
  58. },
  59. 'texter.experiment': {
  60. 'Meta': {'object_name': 'Experiment'},
  61. 'accepted_answer_pattern': ('django.db.models.fields.CharField', [], {'default': "'.*'", 'max_length': '255'}),
  62. 'answer_ignores_case': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
  63. 'backend': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['texter.Backend']", 'null': 'True', 'blank': 'True'}),
  64. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  65. 'experiment_length_days': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
  66. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  67. 'max_samples_per_day': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
  68. 'max_time_between_samples': ('django.db.models.fields.IntegerField', [], {'default': '5400'}),
  69. 'min_time_between_samples': ('django.db.models.fields.IntegerField', [], {'default': '3600'}),
  70. 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
  71. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
  72. 'url_slug': ('django.db.models.fields.SlugField', [], {'default': "'qtgcksvqkk'", 'unique': 'True', 'max_length': '10', 'db_index': 'True'})
  73. },
  74. 'texter.incomingtextmessage': {
  75. 'Meta': {'object_name': 'IncomingTextMessage'},
  76. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  77. 'experiment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['texter.Experiment']"}),
  78. 'from_phone': ('texter.models.PhoneNumberField', [], {'max_length': '255'}),
  79. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  80. 'message_text': ('django.db.models.fields.CharField', [], {'max_length': '160', 'blank': 'True'}),
  81. 'received_at': ('django.db.models.fields.DateTimeField', [], {}),
  82. 'sent_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  83. 'to_phone': ('texter.models.PhoneNumberField', [], {'max_length': '255'}),
  84. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
  85. },
  86. 'texter.outgoingtextmessage': {
  87. 'Meta': {'object_name': 'OutgoingTextMessage'},
  88. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  89. 'experiment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['texter.Experiment']"}),
  90. 'from_phone': ('texter.models.PhoneNumberField', [], {'max_length': '255'}),
  91. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  92. 'message_text': ('django.db.models.fields.CharField', [], {'max_length': '160', 'blank': 'True'}),
  93. 'send_scheduled_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  94. 'sent_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  95. 'to_phone': ('texter.models.PhoneNumberField', [], {'max_length': '255'}),
  96. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
  97. },
  98. 'texter.participant': {
  99. 'Meta': {'unique_together': "(['experiment', 'phone_number'],)", 'object_name': 'Participant'},
  100. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  101. 'experiment': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['texter.Experiment']"}),
  102. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  103. 'id_code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  104. 'normal_earliest_message_time': ('django.db.models.fields.TimeField', [], {'default': "'9:00'"}),
  105. 'normal_latest_message_time': ('django.db.models.fields.TimeField', [], {'default': "'21:00'"}),
  106. 'phone_number': ('texter.models.PhoneNumberField', [], {'max_length': '255'}),
  107. 'start_date': ('django.db.models.fields.DateField', [], {}),
  108. 'stopped': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  109. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
  110. },
  111. 'texter.scheduledsample': {
  112. 'Meta': {'object_name': 'ScheduledSample'},
  113. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  114. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  115. 'run_state': ('django.db.models.fields.CharField', [], {'default': "'scheduled'", 'max_length': '255'}),
  116. 'scheduled_at': ('django.db.models.fields.DateTimeField', [], {}),
  117. 'task_day': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['texter.TaskDay']"}),
  118. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
  119. },
  120. 'texter.taskday': {
  121. 'Meta': {'object_name': 'TaskDay'},
  122. '_run_state': ('django.db.models.fields.CharField', [], {'default': "'waiting'", 'max_length': '255'}),
  123. 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
  124. 'earliest_contact': ('django.db.models.fields.DateTimeField', [], {}),
  125. 'end_time': ('django.db.models.fields.TimeField', [], {}),
  126. 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  127. 'latest_contact': ('django.db.models.fields.DateTimeField', [], {}),
  128. 'participant': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['texter.Participant']"}),
  129. 'start_time': ('django.db.models.fields.TimeField', [], {}),
  130. 'task_date': ('django.db.models.fields.DateField', [], {}),
  131. 'updated_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
  132. }
  133. }
  134. complete_apps = ['texter']