Bez popisu

20447ecb2245_objects_uuid_field.py 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. """Objects UUID field
  2. Revision ID: 20447ecb2245
  3. Revises: ad4e0cd17597
  4. Create Date: 2022-09-23 21:07:20.007874
  5. """
  6. from alembic import op
  7. import sqlalchemy as sa
  8. # revision identifiers, used by Alembic.
  9. from sqlalchemy import text
  10. from sqlalchemy.dialects.postgresql import UUID
  11. from app.alembic.alembic_utils import _table_has_column
  12. revision = '20447ecb2245'
  13. down_revision = 'ad4e0cd17597'
  14. branch_labels = None
  15. depends_on = None
  16. def upgrade():
  17. # ---- Cases ----
  18. op.alter_column('cases', 'case_id',
  19. existing_type=sa.INTEGER(),
  20. type_=sa.BigInteger(),
  21. existing_nullable=False)
  22. if not _table_has_column('cases', 'case_uuid'):
  23. op.add_column('cases',
  24. sa.Column('case_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  25. nullable=False)
  26. )
  27. # ---- Events ----
  28. op.alter_column('cases_events', 'event_id',
  29. existing_type=sa.INTEGER(),
  30. type_=sa.BigInteger(),
  31. existing_nullable=False)
  32. if not _table_has_column('cases_events', 'event_uuid'):
  33. op.add_column('cases_events',
  34. sa.Column('event_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  35. nullable=False)
  36. )
  37. # ---- Clients ----
  38. op.alter_column('client', 'client_id',
  39. existing_type=sa.INTEGER(),
  40. type_=sa.BigInteger(),
  41. existing_nullable=False)
  42. if not _table_has_column('client', 'client_uuid'):
  43. op.add_column('client',
  44. sa.Column('client_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  45. nullable=False)
  46. )
  47. # ---- Case assets ----
  48. op.alter_column('case_assets', 'asset_id',
  49. existing_type=sa.INTEGER(),
  50. type_=sa.BigInteger(),
  51. existing_nullable=False)
  52. if not _table_has_column('case_assets', 'asset_uuid'):
  53. op.add_column('case_assets',
  54. sa.Column('asset_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  55. nullable=False)
  56. )
  57. # ---- Case objects states ----
  58. op.alter_column('object_state', 'object_id',
  59. existing_type=sa.INTEGER(),
  60. type_=sa.BigInteger(),
  61. existing_nullable=False)
  62. # ---- Case event IOC ----
  63. op.alter_column('case_events_ioc', 'id',
  64. existing_type=sa.INTEGER(),
  65. type_=sa.BigInteger(),
  66. existing_nullable=False)
  67. # ---- Case event assets ----
  68. op.alter_column('case_events_assets', 'id',
  69. existing_type=sa.INTEGER(),
  70. type_=sa.BigInteger(),
  71. existing_nullable=False)
  72. # ---- IOC ----
  73. op.alter_column('ioc', 'ioc_id',
  74. existing_type=sa.INTEGER(),
  75. type_=sa.BigInteger(),
  76. existing_nullable=False)
  77. if not _table_has_column('ioc', 'ioc_uuid'):
  78. op.add_column('ioc',
  79. sa.Column('ioc_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  80. nullable=False)
  81. )
  82. # ---- Notes ----
  83. op.alter_column('notes', 'note_id',
  84. existing_type=sa.INTEGER(),
  85. type_=sa.BigInteger(),
  86. existing_nullable=False)
  87. if not _table_has_column('notes', 'note_uuid'):
  88. op.add_column('notes',
  89. sa.Column('note_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  90. nullable=False)
  91. )
  92. # ---- Notes group ----
  93. op.alter_column('notes_group', 'group_id',
  94. existing_type=sa.INTEGER(),
  95. type_=sa.BigInteger(),
  96. existing_nullable=False)
  97. if not _table_has_column('notes_group', 'group_uuid'):
  98. op.add_column('notes_group',
  99. sa.Column('group_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  100. nullable=False)
  101. )
  102. # ---- Notes group link ----
  103. op.alter_column('notes_group_link', 'link_id',
  104. existing_type=sa.INTEGER(),
  105. type_=sa.BigInteger(),
  106. existing_nullable=False)
  107. # ---- case received files ----
  108. op.alter_column('case_received_file', 'id',
  109. existing_type=sa.INTEGER(),
  110. type_=sa.BigInteger(),
  111. existing_nullable=False)
  112. if not _table_has_column('case_received_file', 'file_uuid'):
  113. op.add_column('case_received_file',
  114. sa.Column('file_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  115. nullable=False)
  116. )
  117. # ---- case tasks ----
  118. op.alter_column('case_tasks', 'id',
  119. existing_type=sa.INTEGER(),
  120. type_=sa.BigInteger(),
  121. existing_nullable=False)
  122. if not _table_has_column('case_tasks', 'task_uuid'):
  123. op.add_column('case_tasks',
  124. sa.Column('task_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  125. nullable=False)
  126. )
  127. # ---- global tasks ----
  128. op.alter_column('global_tasks', 'id',
  129. existing_type=sa.INTEGER(),
  130. type_=sa.BigInteger(),
  131. existing_nullable=False)
  132. if not _table_has_column('global_tasks', 'task_uuid'):
  133. op.add_column('global_tasks',
  134. sa.Column('task_uuid', UUID(as_uuid=True), server_default=text("gen_random_uuid()"),
  135. nullable=False)
  136. )
  137. # ---- user activity ----
  138. op.alter_column('user_activity', 'id',
  139. existing_type=sa.INTEGER(),
  140. type_=sa.BigInteger(),
  141. existing_nullable=False)
  142. # ---- Iris Hooks ----
  143. op.alter_column('iris_module_hooks', 'id',
  144. existing_type=sa.INTEGER(),
  145. type_=sa.BigInteger(),
  146. existing_nullable=False)
  147. pass
  148. def downgrade():
  149. pass