0002_create_test_models.py 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. from django.core.serializers.json import DjangoJSONEncoder
  2. from django.db import migrations, models
  3. from ..fields import (
  4. ArrayField, BigIntegerRangeField, CICharField, CIEmailField, CITextField,
  5. DateRangeField, DateTimeRangeField, DecimalRangeField, EnumField,
  6. HStoreField, IntegerRangeField, JSONField, SearchVectorField,
  7. )
  8. from ..models import TagField
  9. class Migration(migrations.Migration):
  10. dependencies = [
  11. ('postgres_tests', '0001_setup_extensions'),
  12. ]
  13. operations = [
  14. migrations.CreateModel(
  15. name='CharArrayModel',
  16. fields=[
  17. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  18. ('field', ArrayField(models.CharField(max_length=10), size=None)),
  19. ],
  20. options={
  21. 'required_db_vendor': 'postgresql',
  22. },
  23. bases=(models.Model,),
  24. ),
  25. migrations.CreateModel(
  26. name='DateTimeArrayModel',
  27. fields=[
  28. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  29. ('datetimes', ArrayField(models.DateTimeField(), size=None)),
  30. ('dates', ArrayField(models.DateField(), size=None)),
  31. ('times', ArrayField(models.TimeField(), size=None)),
  32. ],
  33. options={
  34. 'required_db_vendor': 'postgresql',
  35. },
  36. bases=(models.Model,),
  37. ),
  38. migrations.CreateModel(
  39. name='HStoreModel',
  40. fields=[
  41. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  42. ('field', HStoreField(blank=True, null=True)),
  43. ('array_field', ArrayField(HStoreField(), null=True)),
  44. ],
  45. options={
  46. 'required_db_vendor': 'postgresql',
  47. },
  48. bases=(models.Model,),
  49. ),
  50. migrations.CreateModel(
  51. name='OtherTypesArrayModel',
  52. fields=[
  53. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  54. ('ips', ArrayField(models.GenericIPAddressField(), size=None, default=list)),
  55. ('uuids', ArrayField(models.UUIDField(), size=None, default=list)),
  56. ('decimals', ArrayField(models.DecimalField(max_digits=5, decimal_places=2), size=None, default=list)),
  57. ('tags', ArrayField(TagField(), blank=True, null=True, size=None)),
  58. ('json', ArrayField(JSONField(default={}), default=[])),
  59. ('int_ranges', ArrayField(IntegerRangeField(), null=True, blank=True)),
  60. ('bigint_ranges', ArrayField(BigIntegerRangeField(), null=True, blank=True)),
  61. ],
  62. options={
  63. 'required_db_vendor': 'postgresql',
  64. },
  65. bases=(models.Model,),
  66. ),
  67. migrations.CreateModel(
  68. name='IntegerArrayModel',
  69. fields=[
  70. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  71. ('field', ArrayField(models.IntegerField(), size=None)),
  72. ],
  73. options={
  74. 'required_db_vendor': 'postgresql',
  75. },
  76. bases=(models.Model,),
  77. ),
  78. migrations.CreateModel(
  79. name='NestedIntegerArrayModel',
  80. fields=[
  81. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  82. ('field', ArrayField(ArrayField(models.IntegerField(), size=None), size=None)),
  83. ],
  84. options={
  85. 'required_db_vendor': 'postgresql',
  86. },
  87. bases=(models.Model,),
  88. ),
  89. migrations.CreateModel(
  90. name='NullableIntegerArrayModel',
  91. fields=[
  92. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  93. ('field', ArrayField(models.IntegerField(), size=None, null=True, blank=True)),
  94. ],
  95. options={
  96. 'required_db_vendor': 'postgresql',
  97. },
  98. bases=(models.Model,),
  99. ),
  100. migrations.CreateModel(
  101. name='CharFieldModel',
  102. fields=[
  103. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  104. ('field', models.CharField(max_length=16)),
  105. ],
  106. options=None,
  107. bases=None,
  108. ),
  109. migrations.CreateModel(
  110. name='TextFieldModel',
  111. fields=[
  112. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  113. ('field', models.TextField()),
  114. ],
  115. options=None,
  116. bases=None,
  117. ),
  118. migrations.CreateModel(
  119. name='Scene',
  120. fields=[
  121. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  122. ('scene', models.CharField(max_length=255)),
  123. ('setting', models.CharField(max_length=255)),
  124. ],
  125. options=None,
  126. bases=None,
  127. ),
  128. migrations.CreateModel(
  129. name='Character',
  130. fields=[
  131. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  132. ('name', models.CharField(max_length=255)),
  133. ],
  134. options=None,
  135. bases=None,
  136. ),
  137. migrations.CreateModel(
  138. name='CITestModel',
  139. fields=[
  140. ('name', CICharField(primary_key=True, max_length=255)),
  141. ('email', CIEmailField()),
  142. ('description', CITextField()),
  143. ('array_field', ArrayField(CITextField(), null=True)),
  144. ],
  145. options={
  146. 'required_db_vendor': 'postgresql',
  147. },
  148. bases=None,
  149. ),
  150. migrations.CreateModel(
  151. name='Line',
  152. fields=[
  153. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  154. ('scene', models.ForeignKey('postgres_tests.Scene', on_delete=models.SET_NULL)),
  155. ('character', models.ForeignKey('postgres_tests.Character', on_delete=models.SET_NULL)),
  156. ('dialogue', models.TextField(blank=True, null=True)),
  157. ('dialogue_search_vector', SearchVectorField(blank=True, null=True)),
  158. ('dialogue_config', models.CharField(max_length=100, blank=True, null=True)),
  159. ],
  160. options={
  161. 'required_db_vendor': 'postgresql',
  162. },
  163. bases=None,
  164. ),
  165. migrations.CreateModel(
  166. name='AggregateTestModel',
  167. fields=[
  168. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  169. ('boolean_field', models.BooleanField(null=True)),
  170. ('char_field', models.CharField(max_length=30, blank=True)),
  171. ('integer_field', models.IntegerField(null=True)),
  172. ]
  173. ),
  174. migrations.CreateModel(
  175. name='StatTestModel',
  176. fields=[
  177. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  178. ('int1', models.IntegerField()),
  179. ('int2', models.IntegerField()),
  180. ('related_field', models.ForeignKey(
  181. 'postgres_tests.AggregateTestModel',
  182. models.SET_NULL,
  183. null=True,
  184. )),
  185. ]
  186. ),
  187. migrations.CreateModel(
  188. name='NowTestModel',
  189. fields=[
  190. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  191. ('when', models.DateTimeField(null=True, default=None)),
  192. ]
  193. ),
  194. migrations.CreateModel(
  195. name='UUIDTestModel',
  196. fields=[
  197. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  198. ('uuid', models.UUIDField(default=None, null=True)),
  199. ]
  200. ),
  201. migrations.CreateModel(
  202. name='RangesModel',
  203. fields=[
  204. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  205. ('ints', IntegerRangeField(null=True, blank=True)),
  206. ('bigints', BigIntegerRangeField(null=True, blank=True)),
  207. ('decimals', DecimalRangeField(null=True, blank=True)),
  208. ('timestamps', DateTimeRangeField(null=True, blank=True)),
  209. ('timestamps_inner', DateTimeRangeField(null=True, blank=True)),
  210. ('dates', DateRangeField(null=True, blank=True)),
  211. ('dates_inner', DateRangeField(null=True, blank=True)),
  212. ],
  213. options={
  214. 'required_db_vendor': 'postgresql'
  215. },
  216. bases=(models.Model,)
  217. ),
  218. migrations.CreateModel(
  219. name='RangeLookupsModel',
  220. fields=[
  221. ('parent', models.ForeignKey(
  222. 'postgres_tests.RangesModel',
  223. models.SET_NULL,
  224. blank=True, null=True,
  225. )),
  226. ('integer', models.IntegerField(blank=True, null=True)),
  227. ('big_integer', models.BigIntegerField(blank=True, null=True)),
  228. ('float', models.FloatField(blank=True, null=True)),
  229. ('timestamp', models.DateTimeField(blank=True, null=True)),
  230. ('date', models.DateField(blank=True, null=True)),
  231. ],
  232. options={
  233. 'required_db_vendor': 'postgresql',
  234. },
  235. bases=(models.Model,),
  236. ),
  237. migrations.CreateModel(
  238. name='JSONModel',
  239. fields=[
  240. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  241. ('field', JSONField(null=True, blank=True)),
  242. ('field_custom', JSONField(null=True, blank=True, encoder=DjangoJSONEncoder)),
  243. ],
  244. options={
  245. 'required_db_vendor': 'postgresql',
  246. },
  247. bases=(models.Model,),
  248. ),
  249. migrations.CreateModel(
  250. name='ArrayEnumModel',
  251. fields=[
  252. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  253. ('array_of_enums', ArrayField(EnumField(max_length=20), null=True, blank=True)),
  254. ],
  255. options={
  256. 'required_db_vendor': 'postgresql',
  257. },
  258. bases=(models.Model,),
  259. ),
  260. migrations.CreateModel(
  261. name='Room',
  262. fields=[
  263. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  264. ('number', models.IntegerField(unique=True)),
  265. ],
  266. ),
  267. migrations.CreateModel(
  268. name='HotelReservation',
  269. fields=[
  270. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  271. ('room', models.ForeignKey('postgres_tests.Room', models.CASCADE)),
  272. ('datespan', DateRangeField()),
  273. ('start', models.DateTimeField()),
  274. ('end', models.DateTimeField()),
  275. ('cancelled', models.BooleanField(default=False)),
  276. ],
  277. options={
  278. 'required_db_vendor': 'postgresql',
  279. },
  280. ),
  281. ]