1682333453967-init-sqlite.ts 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. import { MigrationInterface, QueryRunner } from 'typeorm'
  2. export class initSqlite1682333453967 implements MigrationInterface {
  3. name = 'initSqlite1682333453967'
  4. public async up(queryRunner: QueryRunner): Promise<void> {
  5. await queryRunner.query(
  6. 'CREATE TABLE "offline_user_subscriptions" ("uuid" varchar PRIMARY KEY NOT NULL, "email" varchar(255) NOT NULL, "plan_name" varchar(255) NOT NULL, "ends_at" bigint NOT NULL, "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "cancelled" tinyint NOT NULL DEFAULT (0), "subscription_id" integer)',
  7. )
  8. await queryRunner.query('CREATE INDEX "email" ON "offline_user_subscriptions" ("email") ')
  9. await queryRunner.query(
  10. 'CREATE TABLE "revoked_sessions" ("uuid" varchar PRIMARY KEY NOT NULL, "user_uuid" varchar(36) NOT NULL, "received" tinyint NOT NULL DEFAULT (0), "created_at" datetime NOT NULL, "received_at" datetime, "user_agent" text, "api_version" varchar(255))',
  11. )
  12. await queryRunner.query('CREATE INDEX "index_revoked_sessions_on_user_uuid" ON "revoked_sessions" ("user_uuid") ')
  13. await queryRunner.query(
  14. 'CREATE TABLE "settings" ("uuid" varchar PRIMARY KEY NOT NULL, "name" varchar(255) NOT NULL, "value" text, "server_encryption_version" tinyint NOT NULL DEFAULT (0), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "sensitive" tinyint NOT NULL DEFAULT (0), "user_uuid" varchar NOT NULL)',
  15. )
  16. await queryRunner.query('CREATE INDEX "index_settings_on_updated_at" ON "settings" ("updated_at") ')
  17. await queryRunner.query('CREATE INDEX "index_settings_on_name_and_user_uuid" ON "settings" ("name", "user_uuid") ')
  18. await queryRunner.query(
  19. 'CREATE TABLE "subscription_settings" ("uuid" varchar PRIMARY KEY NOT NULL, "name" varchar(255) NOT NULL, "value" text, "server_encryption_version" tinyint NOT NULL DEFAULT (0), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "sensitive" tinyint NOT NULL DEFAULT (0), "user_subscription_uuid" varchar NOT NULL)',
  20. )
  21. await queryRunner.query(
  22. 'CREATE INDEX "index_subcsription_settings_on_updated_at" ON "subscription_settings" ("updated_at") ',
  23. )
  24. await queryRunner.query(
  25. 'CREATE INDEX "index_settings_on_name_and_user_subscription_uuid" ON "subscription_settings" ("name", "user_subscription_uuid") ',
  26. )
  27. await queryRunner.query(
  28. 'CREATE TABLE "user_subscriptions" ("uuid" varchar PRIMARY KEY NOT NULL, "plan_name" varchar(255) NOT NULL, "ends_at" bigint NOT NULL, "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "renewed_at" bigint, "cancelled" tinyint NOT NULL DEFAULT (0), "subscription_id" integer, "subscription_type" varchar(24) NOT NULL, "user_uuid" varchar NOT NULL)',
  29. )
  30. await queryRunner.query('CREATE INDEX "updated_at" ON "user_subscriptions" ("updated_at") ')
  31. await queryRunner.query(
  32. 'CREATE TABLE "emergency_access_invitations" ("uuid" varchar PRIMARY KEY NOT NULL, "grantor_uuid" varchar(36) NOT NULL, "grantee_uuid" varchar(36) NOT NULL, "status" varchar(36) NOT NULL, "expires_at" datetime NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)',
  33. )
  34. await queryRunner.query(
  35. 'CREATE TABLE "users" ("uuid" varchar PRIMARY KEY NOT NULL, "version" varchar(255), "email" varchar(255), "pw_nonce" varchar(255), "encrypted_server_key" varchar(255), "server_encryption_version" tinyint NOT NULL DEFAULT (0), "kp_created" varchar(255), "kp_origination" varchar(255), "pw_cost" integer, "pw_key_size" integer, "pw_salt" varchar(255), "pw_alg" varchar(255), "pw_func" varchar(255), "encrypted_password" varchar(255) NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "locked_until" datetime, "num_failed_attempts" integer)',
  36. )
  37. await queryRunner.query('CREATE INDEX "index_users_on_email" ON "users" ("email") ')
  38. await queryRunner.query(
  39. 'CREATE TABLE "roles" ("uuid" varchar PRIMARY KEY NOT NULL, "name" varchar(255) NOT NULL, "version" smallint NOT NULL, "created_at" datetime NOT NULL DEFAULT (CURRENT_TIMESTAMP), "updated_at" datetime NOT NULL DEFAULT (CURRENT_TIMESTAMP))',
  40. )
  41. await queryRunner.query('CREATE UNIQUE INDEX "name_and_version" ON "roles" ("name", "version") ')
  42. await queryRunner.query(
  43. 'CREATE TABLE "permissions" ("uuid" varchar PRIMARY KEY NOT NULL, "name" varchar(255) NOT NULL, "created_at" datetime NOT NULL DEFAULT (CURRENT_TIMESTAMP), "updated_at" datetime NOT NULL DEFAULT (CURRENT_TIMESTAMP))',
  44. )
  45. await queryRunner.query('CREATE UNIQUE INDEX "index_permissions_on_name" ON "permissions" ("name") ')
  46. await queryRunner.query(
  47. 'CREATE TABLE "sessions" ("uuid" varchar PRIMARY KEY NOT NULL, "user_uuid" varchar(255), "hashed_access_token" varchar(255) NOT NULL, "hashed_refresh_token" varchar(255) NOT NULL, "access_expiration" datetime NOT NULL DEFAULT (CURRENT_TIMESTAMP), "refresh_expiration" datetime NOT NULL, "api_version" varchar(255), "user_agent" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, "readonly_access" tinyint NOT NULL DEFAULT (0))',
  48. )
  49. await queryRunner.query('CREATE INDEX "index_sessions_on_user_uuid" ON "sessions" ("user_uuid") ')
  50. await queryRunner.query('CREATE INDEX "index_sessions_on_updated_at" ON "sessions" ("updated_at") ')
  51. await queryRunner.query(
  52. 'CREATE TABLE "offline_settings" ("uuid" varchar PRIMARY KEY NOT NULL, "email" varchar(255) NOT NULL, "name" varchar(255) NOT NULL, "value" text, "server_encryption_version" tinyint NOT NULL DEFAULT (0), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL)',
  53. )
  54. await queryRunner.query(
  55. 'CREATE INDEX "index_offline_settings_on_name_and_email" ON "offline_settings" ("name", "email") ',
  56. )
  57. await queryRunner.query(
  58. 'CREATE TABLE "shared_subscription_invitations" ("uuid" varchar PRIMARY KEY NOT NULL, "inviter_identifier" varchar(255) NOT NULL, "inviter_identifier_type" varchar(24) NOT NULL, "invitee_identifier" varchar(255) NOT NULL, "invitee_identifier_type" varchar(24) NOT NULL, "status" varchar(255) NOT NULL, "subscription_id" integer NOT NULL, "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL)',
  59. )
  60. await queryRunner.query(
  61. 'CREATE INDEX "inviter_identifier" ON "shared_subscription_invitations" ("inviter_identifier") ',
  62. )
  63. await queryRunner.query(
  64. 'CREATE INDEX "invitee_identifier" ON "shared_subscription_invitations" ("invitee_identifier") ',
  65. )
  66. await queryRunner.query(
  67. 'CREATE INDEX "invitee_and_status" ON "shared_subscription_invitations" ("invitee_identifier", "status") ',
  68. )
  69. await queryRunner.query(
  70. 'CREATE TABLE "authenticators" ("uuid" varchar PRIMARY KEY NOT NULL, "user_uuid" varchar(36) NOT NULL, "credential_id" text NOT NULL, "credential_public_key" blob NOT NULL, "counter" bigint NOT NULL, "credential_device_type" varchar(32) NOT NULL, "credential_backed_up" boolean NOT NULL, "transports" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)',
  71. )
  72. await queryRunner.query(
  73. 'CREATE TABLE "authenticator_challenges" ("uuid" varchar PRIMARY KEY NOT NULL, "user_uuid" varchar(36) NOT NULL, "challenge" varchar(255) NOT NULL, "created_at" datetime NOT NULL)',
  74. )
  75. await queryRunner.query('CREATE UNIQUE INDEX "unique_user_uuid" ON "authenticator_challenges" ("user_uuid") ')
  76. await queryRunner.query(
  77. 'CREATE TABLE "session_traces" ("uuid" varchar PRIMARY KEY NOT NULL, "user_uuid" varchar(36) NOT NULL, "username" varchar(255) NOT NULL, "subscription_plan_name" varchar(64), "created_at" datetime NOT NULL, "creation_date" date NOT NULL, "expires_at" datetime NOT NULL)',
  78. )
  79. await queryRunner.query('CREATE INDEX "subscription_plan_name" ON "session_traces" ("subscription_plan_name") ')
  80. await queryRunner.query('CREATE INDEX "creation_date" ON "session_traces" ("creation_date") ')
  81. await queryRunner.query(
  82. 'CREATE UNIQUE INDEX "user_uuid_and_creation_date" ON "session_traces" ("user_uuid", "creation_date") ',
  83. )
  84. await queryRunner.query(
  85. 'CREATE TABLE "offline_user_roles" ("offline_user_subscription_uuid" varchar NOT NULL, "role_uuid" varchar NOT NULL, PRIMARY KEY ("offline_user_subscription_uuid", "role_uuid"))',
  86. )
  87. await queryRunner.query(
  88. 'CREATE INDEX "IDX_cd1b91693f6ee92d5f94ce2775" ON "offline_user_roles" ("offline_user_subscription_uuid") ',
  89. )
  90. await queryRunner.query('CREATE INDEX "IDX_027ba99043e6902f569d66417f" ON "offline_user_roles" ("role_uuid") ')
  91. await queryRunner.query(
  92. 'CREATE TABLE "user_roles" ("user_uuid" varchar NOT NULL, "role_uuid" varchar NOT NULL, PRIMARY KEY ("user_uuid", "role_uuid"))',
  93. )
  94. await queryRunner.query('CREATE INDEX "IDX_2ebc2e1e2cb1d730d018893dae" ON "user_roles" ("user_uuid") ')
  95. await queryRunner.query('CREATE INDEX "IDX_0ea82c7b2302d7af0f8b789d79" ON "user_roles" ("role_uuid") ')
  96. await queryRunner.query(
  97. 'CREATE TABLE "role_permissions" ("role_uuid" varchar NOT NULL, "permission_uuid" varchar NOT NULL, PRIMARY KEY ("role_uuid", "permission_uuid"))',
  98. )
  99. await queryRunner.query('CREATE INDEX "IDX_7be6db7b59fb622e6c16ba124c" ON "role_permissions" ("role_uuid") ')
  100. await queryRunner.query('CREATE INDEX "IDX_f985b194ff27dde81fb470c192" ON "role_permissions" ("permission_uuid") ')
  101. await queryRunner.query('DROP INDEX "index_revoked_sessions_on_user_uuid"')
  102. await queryRunner.query(
  103. 'CREATE TABLE "temporary_revoked_sessions" ("uuid" varchar PRIMARY KEY NOT NULL, "user_uuid" varchar(36) NOT NULL, "received" tinyint NOT NULL DEFAULT (0), "created_at" datetime NOT NULL, "received_at" datetime, "user_agent" text, "api_version" varchar(255), CONSTRAINT "FK_edaf18faca67e682be39b5ecae5" FOREIGN KEY ("user_uuid") REFERENCES "users" ("uuid") ON DELETE CASCADE ON UPDATE NO ACTION)',
  104. )
  105. await queryRunner.query(
  106. 'INSERT INTO "temporary_revoked_sessions"("uuid", "user_uuid", "received", "created_at", "received_at", "user_agent", "api_version") SELECT "uuid", "user_uuid", "received", "created_at", "received_at", "user_agent", "api_version" FROM "revoked_sessions"',
  107. )
  108. await queryRunner.query('DROP TABLE "revoked_sessions"')
  109. await queryRunner.query('ALTER TABLE "temporary_revoked_sessions" RENAME TO "revoked_sessions"')
  110. await queryRunner.query('CREATE INDEX "index_revoked_sessions_on_user_uuid" ON "revoked_sessions" ("user_uuid") ')
  111. await queryRunner.query('DROP INDEX "index_settings_on_updated_at"')
  112. await queryRunner.query('DROP INDEX "index_settings_on_name_and_user_uuid"')
  113. await queryRunner.query(
  114. 'CREATE TABLE "temporary_settings" ("uuid" varchar PRIMARY KEY NOT NULL, "name" varchar(255) NOT NULL, "value" text, "server_encryption_version" tinyint NOT NULL DEFAULT (0), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "sensitive" tinyint NOT NULL DEFAULT (0), "user_uuid" varchar NOT NULL, CONSTRAINT "FK_214aab0c0380e81fb51093595cb" FOREIGN KEY ("user_uuid") REFERENCES "users" ("uuid") ON DELETE CASCADE ON UPDATE NO ACTION)',
  115. )
  116. await queryRunner.query(
  117. 'INSERT INTO "temporary_settings"("uuid", "name", "value", "server_encryption_version", "created_at", "updated_at", "sensitive", "user_uuid") SELECT "uuid", "name", "value", "server_encryption_version", "created_at", "updated_at", "sensitive", "user_uuid" FROM "settings"',
  118. )
  119. await queryRunner.query('DROP TABLE "settings"')
  120. await queryRunner.query('ALTER TABLE "temporary_settings" RENAME TO "settings"')
  121. await queryRunner.query('CREATE INDEX "index_settings_on_updated_at" ON "settings" ("updated_at") ')
  122. await queryRunner.query('CREATE INDEX "index_settings_on_name_and_user_uuid" ON "settings" ("name", "user_uuid") ')
  123. await queryRunner.query('DROP INDEX "index_subcsription_settings_on_updated_at"')
  124. await queryRunner.query('DROP INDEX "index_settings_on_name_and_user_subscription_uuid"')
  125. await queryRunner.query(
  126. 'CREATE TABLE "temporary_subscription_settings" ("uuid" varchar PRIMARY KEY NOT NULL, "name" varchar(255) NOT NULL, "value" text, "server_encryption_version" tinyint NOT NULL DEFAULT (0), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "sensitive" tinyint NOT NULL DEFAULT (0), "user_subscription_uuid" varchar NOT NULL, CONSTRAINT "FK_ad2907de2850d8b531ff23329f3" FOREIGN KEY ("user_subscription_uuid") REFERENCES "user_subscriptions" ("uuid") ON DELETE CASCADE ON UPDATE NO ACTION)',
  127. )
  128. await queryRunner.query(
  129. 'INSERT INTO "temporary_subscription_settings"("uuid", "name", "value", "server_encryption_version", "created_at", "updated_at", "sensitive", "user_subscription_uuid") SELECT "uuid", "name", "value", "server_encryption_version", "created_at", "updated_at", "sensitive", "user_subscription_uuid" FROM "subscription_settings"',
  130. )
  131. await queryRunner.query('DROP TABLE "subscription_settings"')
  132. await queryRunner.query('ALTER TABLE "temporary_subscription_settings" RENAME TO "subscription_settings"')
  133. await queryRunner.query(
  134. 'CREATE INDEX "index_subcsription_settings_on_updated_at" ON "subscription_settings" ("updated_at") ',
  135. )
  136. await queryRunner.query(
  137. 'CREATE INDEX "index_settings_on_name_and_user_subscription_uuid" ON "subscription_settings" ("name", "user_subscription_uuid") ',
  138. )
  139. await queryRunner.query('DROP INDEX "updated_at"')
  140. await queryRunner.query(
  141. 'CREATE TABLE "temporary_user_subscriptions" ("uuid" varchar PRIMARY KEY NOT NULL, "plan_name" varchar(255) NOT NULL, "ends_at" bigint NOT NULL, "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "renewed_at" bigint, "cancelled" tinyint NOT NULL DEFAULT (0), "subscription_id" integer, "subscription_type" varchar(24) NOT NULL, "user_uuid" varchar NOT NULL, CONSTRAINT "FK_f44dae0a64c70e6b50de5442d2b" FOREIGN KEY ("user_uuid") REFERENCES "users" ("uuid") ON DELETE CASCADE ON UPDATE NO ACTION)',
  142. )
  143. await queryRunner.query(
  144. 'INSERT INTO "temporary_user_subscriptions"("uuid", "plan_name", "ends_at", "created_at", "updated_at", "renewed_at", "cancelled", "subscription_id", "subscription_type", "user_uuid") SELECT "uuid", "plan_name", "ends_at", "created_at", "updated_at", "renewed_at", "cancelled", "subscription_id", "subscription_type", "user_uuid" FROM "user_subscriptions"',
  145. )
  146. await queryRunner.query('DROP TABLE "user_subscriptions"')
  147. await queryRunner.query('ALTER TABLE "temporary_user_subscriptions" RENAME TO "user_subscriptions"')
  148. await queryRunner.query('CREATE INDEX "updated_at" ON "user_subscriptions" ("updated_at") ')
  149. await queryRunner.query(
  150. 'CREATE TABLE "temporary_emergency_access_invitations" ("uuid" varchar PRIMARY KEY NOT NULL, "grantor_uuid" varchar(36) NOT NULL, "grantee_uuid" varchar(36) NOT NULL, "status" varchar(36) NOT NULL, "expires_at" datetime NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, CONSTRAINT "grantor_uuid_fk" FOREIGN KEY ("grantor_uuid") REFERENCES "users" ("uuid") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "grantee_uuid_fk" FOREIGN KEY ("grantee_uuid") REFERENCES "users" ("uuid") ON DELETE CASCADE ON UPDATE NO ACTION)',
  151. )
  152. await queryRunner.query(
  153. 'INSERT INTO "temporary_emergency_access_invitations"("uuid", "grantor_uuid", "grantee_uuid", "status", "expires_at", "created_at", "updated_at") SELECT "uuid", "grantor_uuid", "grantee_uuid", "status", "expires_at", "created_at", "updated_at" FROM "emergency_access_invitations"',
  154. )
  155. await queryRunner.query('DROP TABLE "emergency_access_invitations"')
  156. await queryRunner.query(
  157. 'ALTER TABLE "temporary_emergency_access_invitations" RENAME TO "emergency_access_invitations"',
  158. )
  159. await queryRunner.query('DROP INDEX "IDX_cd1b91693f6ee92d5f94ce2775"')
  160. await queryRunner.query('DROP INDEX "IDX_027ba99043e6902f569d66417f"')
  161. await queryRunner.query(
  162. 'CREATE TABLE "temporary_offline_user_roles" ("offline_user_subscription_uuid" varchar NOT NULL, "role_uuid" varchar NOT NULL, CONSTRAINT "FK_cd1b91693f6ee92d5f94ce27758" FOREIGN KEY ("offline_user_subscription_uuid") REFERENCES "offline_user_subscriptions" ("uuid") ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT "FK_027ba99043e6902f569d66417f0" FOREIGN KEY ("role_uuid") REFERENCES "roles" ("uuid") ON DELETE CASCADE ON UPDATE CASCADE, PRIMARY KEY ("offline_user_subscription_uuid", "role_uuid"))',
  163. )
  164. await queryRunner.query(
  165. 'INSERT INTO "temporary_offline_user_roles"("offline_user_subscription_uuid", "role_uuid") SELECT "offline_user_subscription_uuid", "role_uuid" FROM "offline_user_roles"',
  166. )
  167. await queryRunner.query('DROP TABLE "offline_user_roles"')
  168. await queryRunner.query('ALTER TABLE "temporary_offline_user_roles" RENAME TO "offline_user_roles"')
  169. await queryRunner.query(
  170. 'CREATE INDEX "IDX_cd1b91693f6ee92d5f94ce2775" ON "offline_user_roles" ("offline_user_subscription_uuid") ',
  171. )
  172. await queryRunner.query('CREATE INDEX "IDX_027ba99043e6902f569d66417f" ON "offline_user_roles" ("role_uuid") ')
  173. await queryRunner.query('DROP INDEX "IDX_2ebc2e1e2cb1d730d018893dae"')
  174. await queryRunner.query('DROP INDEX "IDX_0ea82c7b2302d7af0f8b789d79"')
  175. await queryRunner.query(
  176. 'CREATE TABLE "temporary_user_roles" ("user_uuid" varchar NOT NULL, "role_uuid" varchar NOT NULL, CONSTRAINT "FK_2ebc2e1e2cb1d730d018893daef" FOREIGN KEY ("user_uuid") REFERENCES "users" ("uuid") ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT "FK_0ea82c7b2302d7af0f8b789d797" FOREIGN KEY ("role_uuid") REFERENCES "roles" ("uuid") ON DELETE CASCADE ON UPDATE CASCADE, PRIMARY KEY ("user_uuid", "role_uuid"))',
  177. )
  178. await queryRunner.query(
  179. 'INSERT INTO "temporary_user_roles"("user_uuid", "role_uuid") SELECT "user_uuid", "role_uuid" FROM "user_roles"',
  180. )
  181. await queryRunner.query('DROP TABLE "user_roles"')
  182. await queryRunner.query('ALTER TABLE "temporary_user_roles" RENAME TO "user_roles"')
  183. await queryRunner.query('CREATE INDEX "IDX_2ebc2e1e2cb1d730d018893dae" ON "user_roles" ("user_uuid") ')
  184. await queryRunner.query('CREATE INDEX "IDX_0ea82c7b2302d7af0f8b789d79" ON "user_roles" ("role_uuid") ')
  185. await queryRunner.query('DROP INDEX "IDX_7be6db7b59fb622e6c16ba124c"')
  186. await queryRunner.query('DROP INDEX "IDX_f985b194ff27dde81fb470c192"')
  187. await queryRunner.query(
  188. 'CREATE TABLE "temporary_role_permissions" ("role_uuid" varchar NOT NULL, "permission_uuid" varchar NOT NULL, CONSTRAINT "FK_7be6db7b59fb622e6c16ba124c8" FOREIGN KEY ("role_uuid") REFERENCES "roles" ("uuid") ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT "FK_f985b194ff27dde81fb470c1920" FOREIGN KEY ("permission_uuid") REFERENCES "permissions" ("uuid") ON DELETE CASCADE ON UPDATE CASCADE, PRIMARY KEY ("role_uuid", "permission_uuid"))',
  189. )
  190. await queryRunner.query(
  191. 'INSERT INTO "temporary_role_permissions"("role_uuid", "permission_uuid") SELECT "role_uuid", "permission_uuid" FROM "role_permissions"',
  192. )
  193. await queryRunner.query('DROP TABLE "role_permissions"')
  194. await queryRunner.query('ALTER TABLE "temporary_role_permissions" RENAME TO "role_permissions"')
  195. await queryRunner.query('CREATE INDEX "IDX_7be6db7b59fb622e6c16ba124c" ON "role_permissions" ("role_uuid") ')
  196. await queryRunner.query('CREATE INDEX "IDX_f985b194ff27dde81fb470c192" ON "role_permissions" ("permission_uuid") ')
  197. }
  198. public async down(): Promise<void> {
  199. return
  200. }
  201. }