You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

215 lines
10 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. # Generated by Django 2.1.7 on 2019-10-25 16:26
  2. from django.conf import settings
  3. from django.db import migrations, models
  4. import django.db.models.deletion
  5. class Migration(migrations.Migration):
  6. initial = True
  7. dependencies = [
  8. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  9. ('contenttypes', '0002_remove_content_type_name'),
  10. ]
  11. operations = [
  12. migrations.CreateModel(
  13. name='Document',
  14. fields=[
  15. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  16. ('text', models.TextField()),
  17. ('meta', models.TextField(default='{}')),
  18. ('created_at', models.DateTimeField(auto_now_add=True)),
  19. ('updated_at', models.DateTimeField(auto_now=True)),
  20. ('annotations_approved_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
  21. ],
  22. ),
  23. migrations.CreateModel(
  24. name='DocumentAnnotation',
  25. fields=[
  26. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  27. ('prob', models.FloatField(default=0.0)),
  28. ('manual', models.BooleanField(default=False)),
  29. ('created_at', models.DateTimeField(auto_now_add=True)),
  30. ('updated_at', models.DateTimeField(auto_now=True)),
  31. ('document', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='doc_annotations', to='api.Document')),
  32. ],
  33. ),
  34. migrations.CreateModel(
  35. name='Label',
  36. fields=[
  37. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  38. ('text', models.CharField(max_length=100)),
  39. ('prefix_key', models.CharField(blank=True, choices=[('ctrl', 'ctrl'), ('shift', 'shift'), ('ctrl shift', 'ctrl shift')], max_length=10, null=True)),
  40. ('suffix_key', models.CharField(blank=True, choices=[('a', 'a'), ('b', 'b'), ('c', 'c'), ('d', 'd'), ('e', 'e'), ('f', 'f'), ('g', 'g'), ('h', 'h'), ('i', 'i'), ('j', 'j'), ('k', 'k'), ('l', 'l'), ('m', 'm'), ('n', 'n'), ('o', 'o'), ('p', 'p'), ('q', 'q'), ('r', 'r'), ('s', 's'), ('t', 't'), ('u', 'u'), ('v', 'v'), ('w', 'w'), ('x', 'x'), ('y', 'y'), ('z', 'z')], max_length=1, null=True)),
  41. ('background_color', models.CharField(default='#209cee', max_length=7)),
  42. ('text_color', models.CharField(default='#ffffff', max_length=7)),
  43. ('created_at', models.DateTimeField(auto_now_add=True)),
  44. ('updated_at', models.DateTimeField(auto_now=True)),
  45. ],
  46. ),
  47. migrations.CreateModel(
  48. name='Project',
  49. fields=[
  50. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  51. ('name', models.CharField(max_length=100)),
  52. ('description', models.TextField(default='')),
  53. ('guideline', models.TextField(default='')),
  54. ('created_at', models.DateTimeField(auto_now_add=True)),
  55. ('updated_at', models.DateTimeField(auto_now=True)),
  56. ('project_type', models.CharField(choices=[('DocumentClassification', 'document classification'), ('SequenceLabeling', 'sequence labeling'), ('Seq2seq', 'sequence to sequence')], max_length=30)),
  57. ('randomize_document_order', models.BooleanField(default=False)),
  58. ('collaborative_annotation', models.BooleanField(default=False)),
  59. ],
  60. options={
  61. 'abstract': False,
  62. 'base_manager_name': 'objects',
  63. },
  64. ),
  65. migrations.CreateModel(
  66. name='Role',
  67. fields=[
  68. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  69. ('name', models.CharField(max_length=100, unique=True)),
  70. ('description', models.TextField(default='')),
  71. ('created_at', models.DateTimeField(auto_now_add=True)),
  72. ('updated_at', models.DateTimeField(auto_now=True)),
  73. ],
  74. ),
  75. migrations.CreateModel(
  76. name='RoleMapping',
  77. fields=[
  78. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  79. ('created_at', models.DateTimeField(auto_now_add=True)),
  80. ('updated_at', models.DateTimeField(auto_now=True)),
  81. ],
  82. ),
  83. migrations.CreateModel(
  84. name='Seq2seqAnnotation',
  85. fields=[
  86. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  87. ('prob', models.FloatField(default=0.0)),
  88. ('manual', models.BooleanField(default=False)),
  89. ('created_at', models.DateTimeField(auto_now_add=True)),
  90. ('updated_at', models.DateTimeField(auto_now=True)),
  91. ('text', models.CharField(max_length=500)),
  92. ('document', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='seq2seq_annotations', to='api.Document')),
  93. ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
  94. ],
  95. ),
  96. migrations.CreateModel(
  97. name='SequenceAnnotation',
  98. fields=[
  99. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  100. ('prob', models.FloatField(default=0.0)),
  101. ('manual', models.BooleanField(default=False)),
  102. ('created_at', models.DateTimeField(auto_now_add=True)),
  103. ('updated_at', models.DateTimeField(auto_now=True)),
  104. ('start_offset', models.IntegerField()),
  105. ('end_offset', models.IntegerField()),
  106. ('document', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='seq_annotations', to='api.Document')),
  107. ('label', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Label')),
  108. ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
  109. ],
  110. ),
  111. migrations.CreateModel(
  112. name='Seq2seqProject',
  113. fields=[
  114. ('project_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='api.Project')),
  115. ],
  116. options={
  117. 'abstract': False,
  118. 'base_manager_name': 'objects',
  119. },
  120. bases=('api.project',),
  121. ),
  122. migrations.CreateModel(
  123. name='SequenceLabelingProject',
  124. fields=[
  125. ('project_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='api.Project')),
  126. ],
  127. options={
  128. 'abstract': False,
  129. 'base_manager_name': 'objects',
  130. },
  131. bases=('api.project',),
  132. ),
  133. migrations.CreateModel(
  134. name='TextClassificationProject',
  135. fields=[
  136. ('project_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='api.Project')),
  137. ],
  138. options={
  139. 'abstract': False,
  140. 'base_manager_name': 'objects',
  141. },
  142. bases=('api.project',),
  143. ),
  144. migrations.AddField(
  145. model_name='rolemapping',
  146. name='project',
  147. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='role_mappings', to='api.Project'),
  148. ),
  149. migrations.AddField(
  150. model_name='rolemapping',
  151. name='role',
  152. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Role'),
  153. ),
  154. migrations.AddField(
  155. model_name='rolemapping',
  156. name='user',
  157. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='role_mappings', to=settings.AUTH_USER_MODEL),
  158. ),
  159. migrations.AddField(
  160. model_name='project',
  161. name='polymorphic_ctype',
  162. field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_api.project_set+', to='contenttypes.ContentType'),
  163. ),
  164. migrations.AddField(
  165. model_name='project',
  166. name='users',
  167. field=models.ManyToManyField(related_name='projects', to=settings.AUTH_USER_MODEL),
  168. ),
  169. migrations.AddField(
  170. model_name='label',
  171. name='project',
  172. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='labels', to='api.Project'),
  173. ),
  174. migrations.AddField(
  175. model_name='documentannotation',
  176. name='label',
  177. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Label'),
  178. ),
  179. migrations.AddField(
  180. model_name='documentannotation',
  181. name='user',
  182. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
  183. ),
  184. migrations.AddField(
  185. model_name='document',
  186. name='project',
  187. field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='documents', to='api.Project'),
  188. ),
  189. migrations.AlterUniqueTogether(
  190. name='sequenceannotation',
  191. unique_together={('document', 'user', 'label', 'start_offset', 'end_offset')},
  192. ),
  193. migrations.AlterUniqueTogether(
  194. name='seq2seqannotation',
  195. unique_together={('document', 'user', 'text')},
  196. ),
  197. migrations.AlterUniqueTogether(
  198. name='rolemapping',
  199. unique_together={('user', 'project', 'role')},
  200. ),
  201. migrations.AlterUniqueTogether(
  202. name='label',
  203. unique_together={('project', 'text')},
  204. ),
  205. migrations.AlterUniqueTogether(
  206. name='documentannotation',
  207. unique_together={('document', 'user', 'label')},
  208. ),
  209. ]