0001_initial.py 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. from django.conf import settings
  4. from django.db import models, migrations
  5. import django.db.models.deletion
  6. from misago.core.pgutils import CreatePartialIndex
  7. class Migration(migrations.Migration):
  8. dependencies = [
  9. ('misago_forums', '0001_initial'),
  10. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  11. ]
  12. operations = [
  13. migrations.CreateModel(
  14. name='Label',
  15. fields=[
  16. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  17. ('name', models.CharField(max_length=255)),
  18. ('slug', models.SlugField(max_length=255)),
  19. ('css_class', models.CharField(max_length=255, null=True, blank=True)),
  20. ('forums', models.ManyToManyField(to='misago_forums.Forum')),
  21. ],
  22. options={
  23. },
  24. bases=(models.Model,),
  25. ),
  26. migrations.CreateModel(
  27. name='Post',
  28. fields=[
  29. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  30. ('poster_name', models.CharField(max_length=255)),
  31. ('poster_ip', models.GenericIPAddressField()),
  32. ('original', models.TextField()),
  33. ('parsed', models.TextField()),
  34. ('checksum', models.CharField(max_length=64, default='-')),
  35. ('has_attachments', models.BooleanField(default=False)),
  36. ('pickled_attachments', models.TextField(null=True, blank=True)),
  37. ('posted_on', models.DateTimeField()),
  38. ('updated_on', models.DateTimeField()),
  39. ('edits', models.PositiveIntegerField(default=0)),
  40. ('last_editor_name', models.CharField(max_length=255, null=True, blank=True)),
  41. ('last_editor_slug', models.SlugField(max_length=255, null=True, blank=True)),
  42. ('is_reported', models.BooleanField(default=False)),
  43. ('is_moderated', models.BooleanField(default=False, db_index=True)),
  44. ('is_hidden', models.BooleanField(default=False)),
  45. ('is_protected', models.BooleanField(default=False)),
  46. ('forum', models.ForeignKey(to='misago_forums.Forum')),
  47. ('last_editor', models.ForeignKey(related_name=b'+', on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
  48. ('mentions', models.ManyToManyField(related_name=b'mention_set', to=settings.AUTH_USER_MODEL)),
  49. ('poster', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
  50. ],
  51. options={
  52. },
  53. bases=(models.Model,),
  54. ),
  55. CreatePartialIndex(
  56. field='Post.is_reported',
  57. index_name='misago_post_is_reported_partial',
  58. condition='is_reported = TRUE',
  59. ),
  60. CreatePartialIndex(
  61. field='Post.is_hidden',
  62. index_name='misago_post_is_hidden_partial',
  63. condition='is_hidden = FALSE',
  64. ),
  65. migrations.CreateModel(
  66. name='Thread',
  67. fields=[
  68. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  69. ('weight', models.PositiveIntegerField(default=0, db_index=True)),
  70. ('title', models.CharField(max_length=255)),
  71. ('slug', models.CharField(max_length=255)),
  72. ('replies', models.PositiveIntegerField(default=0, db_index=True)),
  73. ('has_reported_posts', models.BooleanField(default=False)),
  74. ('has_moderated_posts', models.BooleanField(default=False)),
  75. ('has_hidden_posts', models.BooleanField(default=False)),
  76. ('started_on', models.DateTimeField()),
  77. ('starter_name', models.CharField(max_length=255)),
  78. ('starter_slug', models.CharField(max_length=255)),
  79. ('last_post_on', models.DateTimeField(db_index=True)),
  80. ('last_poster_name', models.CharField(max_length=255, null=True, blank=True)),
  81. ('last_poster_slug', models.CharField(max_length=255, null=True, blank=True)),
  82. ('is_poll', models.BooleanField(default=False)),
  83. ('is_moderated', models.BooleanField(default=False, db_index=True)),
  84. ('is_hidden', models.BooleanField(default=False)),
  85. ('is_closed', models.BooleanField(default=False)),
  86. ],
  87. options={
  88. },
  89. bases=(models.Model,),
  90. ),
  91. migrations.CreateModel(
  92. name='Event',
  93. fields=[
  94. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  95. ('author_name', models.CharField(max_length=255)),
  96. ('author_slug', models.CharField(max_length=255)),
  97. ('icon', models.CharField(max_length=255)),
  98. ('occured_on', models.DateTimeField(default=django.utils.timezone.now, db_index=True)),
  99. ('message', models.CharField(max_length=255)),
  100. ('checksum', models.CharField(max_length=64, default='-')),
  101. ('is_hidden', models.BooleanField(default=False)),
  102. ('author', models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True)),
  103. ('forum', models.ForeignKey(to='misago_forums.Forum')),
  104. ('thread', models.ForeignKey(to='misago_threads.Thread')),
  105. ],
  106. options={
  107. },
  108. bases=(models.Model,),
  109. ),
  110. CreatePartialIndex(
  111. field='Thread.has_reported_posts',
  112. index_name='misago_thread_has_reported_posts_partial',
  113. condition='has_reported_posts = TRUE',
  114. ),
  115. CreatePartialIndex(
  116. field='Thread.has_moderated_posts',
  117. index_name='misago_thread_has_moderated_posts_partial',
  118. condition='has_moderated_posts = TRUE',
  119. ),
  120. CreatePartialIndex(
  121. field='Thread.is_hidden',
  122. index_name='misago_thread_is_hidden_partial',
  123. condition='is_hidden = FALSE',
  124. ),
  125. migrations.AddField(
  126. model_name='post',
  127. name='thread',
  128. field=models.ForeignKey(to='misago_threads.Thread'),
  129. preserve_default=True,
  130. ),
  131. migrations.AddField(
  132. model_name='thread',
  133. name='first_post',
  134. field=models.ForeignKey(related_name=b'+', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='misago_threads.Post', null=True),
  135. preserve_default=True,
  136. ),
  137. migrations.AddField(
  138. model_name='thread',
  139. name='forum',
  140. field=models.ForeignKey(to='misago_forums.Forum'),
  141. preserve_default=True,
  142. ),
  143. migrations.AddField(
  144. model_name='thread',
  145. name='last_post',
  146. field=models.ForeignKey(related_name=b'+', on_delete=django.db.models.deletion.SET_NULL, blank=True, to='misago_threads.Post', null=True),
  147. preserve_default=True,
  148. ),
  149. migrations.AddField(
  150. model_name='thread',
  151. name='last_poster',
  152. field=models.ForeignKey(related_name=b'last_poster_set', on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True),
  153. preserve_default=True,
  154. ),
  155. migrations.AddField(
  156. model_name='thread',
  157. name='label',
  158. field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to='misago_threads.Label', null=True),
  159. preserve_default=True,
  160. ),
  161. migrations.AddField(
  162. model_name='thread',
  163. name='starter',
  164. field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL, null=True),
  165. preserve_default=True,
  166. ),
  167. migrations.AlterIndexTogether(
  168. name='thread',
  169. index_together=set([
  170. ('forum', 'weight', 'id'),
  171. ('forum', 'weight', 'last_post'),
  172. ('forum', 'weight', 'replies'),
  173. ('forum', 'weight')
  174. ]),
  175. ),
  176. ]