@open-mercato/core 0.4.2-canary-ed15f2e753 → 0.4.2-canary-f075c3eb92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/generated/entities.ids.generated.js +0 -1
  2. package/dist/generated/entities.ids.generated.js.map +2 -2
  3. package/dist/generated/entity-fields-registry.js +0 -2
  4. package/dist/generated/entity-fields-registry.js.map +2 -2
  5. package/dist/modules/api_keys/setup.js +11 -0
  6. package/dist/modules/api_keys/setup.js.map +7 -0
  7. package/dist/modules/attachments/components/AttachmentLibrary.js +1 -1
  8. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  9. package/dist/modules/attachments/lib/assignmentDetails.js +31 -17
  10. package/dist/modules/attachments/lib/assignmentDetails.js.map +2 -2
  11. package/dist/modules/attachments/lib/partitions.js +3 -3
  12. package/dist/modules/attachments/lib/partitions.js.map +2 -2
  13. package/dist/modules/attachments/setup.js +11 -0
  14. package/dist/modules/attachments/setup.js.map +7 -0
  15. package/dist/modules/audit_logs/setup.js +12 -0
  16. package/dist/modules/audit_logs/setup.js.map +7 -0
  17. package/dist/modules/auth/lib/setup-app.js +29 -159
  18. package/dist/modules/auth/lib/setup-app.js.map +2 -2
  19. package/dist/modules/auth/setup.js +11 -0
  20. package/dist/modules/auth/setup.js.map +7 -0
  21. package/dist/modules/business_rules/data/validators.js +0 -34
  22. package/dist/modules/business_rules/data/validators.js.map +2 -2
  23. package/dist/modules/business_rules/index.js +1 -21
  24. package/dist/modules/business_rules/index.js.map +2 -2
  25. package/dist/modules/business_rules/lib/rule-engine.js +1 -182
  26. package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
  27. package/dist/modules/business_rules/setup.js +11 -0
  28. package/dist/modules/business_rules/setup.js.map +7 -0
  29. package/dist/modules/catalog/setup.js +22 -0
  30. package/dist/modules/catalog/setup.js.map +7 -0
  31. package/dist/modules/configs/lib/upgrade-actions.js +65 -15
  32. package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
  33. package/dist/modules/configs/setup.js +16 -0
  34. package/dist/modules/configs/setup.js.map +7 -0
  35. package/dist/modules/currencies/setup.js +16 -0
  36. package/dist/modules/currencies/setup.js.map +7 -0
  37. package/dist/modules/customers/setup.js +36 -0
  38. package/dist/modules/customers/setup.js.map +7 -0
  39. package/dist/modules/dashboards/setup.js +12 -0
  40. package/dist/modules/dashboards/setup.js.map +7 -0
  41. package/dist/modules/dictionaries/setup.js +12 -0
  42. package/dist/modules/dictionaries/setup.js.map +7 -0
  43. package/dist/modules/directory/setup.js +12 -0
  44. package/dist/modules/directory/setup.js.map +7 -0
  45. package/dist/modules/entities/setup.js +11 -0
  46. package/dist/modules/entities/setup.js.map +7 -0
  47. package/dist/modules/feature_toggles/setup.js +11 -0
  48. package/dist/modules/feature_toggles/setup.js.map +7 -0
  49. package/dist/modules/perspectives/setup.js +12 -0
  50. package/dist/modules/perspectives/setup.js.map +7 -0
  51. package/dist/modules/planner/setup.js +21 -0
  52. package/dist/modules/planner/setup.js.map +7 -0
  53. package/dist/modules/query_index/setup.js +11 -0
  54. package/dist/modules/query_index/setup.js.map +7 -0
  55. package/dist/modules/resources/setup.js +21 -0
  56. package/dist/modules/resources/setup.js.map +7 -0
  57. package/dist/modules/sales/acl.js +0 -1
  58. package/dist/modules/sales/acl.js.map +2 -2
  59. package/dist/modules/sales/backend/sales/documents/[id]/page.js +0 -12
  60. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  61. package/dist/modules/sales/commands/documents.js +0 -62
  62. package/dist/modules/sales/commands/documents.js.map +2 -2
  63. package/dist/modules/sales/lib/dictionaries.js +0 -3
  64. package/dist/modules/sales/lib/dictionaries.js.map +2 -2
  65. package/dist/modules/sales/setup.js +99 -0
  66. package/dist/modules/sales/setup.js.map +7 -0
  67. package/dist/modules/staff/setup.js +27 -0
  68. package/dist/modules/staff/setup.js.map +7 -0
  69. package/dist/modules/workflows/acl.js +0 -2
  70. package/dist/modules/workflows/acl.js.map +2 -2
  71. package/dist/modules/workflows/api/instances/route.js +6 -18
  72. package/dist/modules/workflows/api/instances/route.js.map +2 -2
  73. package/dist/modules/workflows/api/tasks/route.js +1 -6
  74. package/dist/modules/workflows/api/tasks/route.js.map +2 -2
  75. package/dist/modules/workflows/backend/definitions/[id]/page.js +1 -9
  76. package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
  77. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js +1 -1
  78. package/dist/modules/workflows/backend/definitions/[id]/page.meta.js.map +2 -2
  79. package/dist/modules/workflows/backend/definitions/create/page.js +15 -24
  80. package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
  81. package/dist/modules/workflows/backend/definitions/create/page.meta.js +1 -1
  82. package/dist/modules/workflows/backend/definitions/create/page.meta.js.map +2 -2
  83. package/dist/modules/workflows/backend/definitions/visual-editor/page.js +132 -150
  84. package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
  85. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js +1 -1
  86. package/dist/modules/workflows/backend/definitions/visual-editor/page.meta.js.map +2 -2
  87. package/dist/modules/workflows/backend/events/[id]/page.js +1 -1
  88. package/dist/modules/workflows/backend/events/[id]/page.js.map +2 -2
  89. package/dist/modules/workflows/backend/events/[id]/page.meta.js +2 -2
  90. package/dist/modules/workflows/backend/events/[id]/page.meta.js.map +2 -2
  91. package/dist/modules/workflows/backend/instances/[id]/page.meta.js +2 -2
  92. package/dist/modules/workflows/backend/instances/[id]/page.meta.js.map +2 -2
  93. package/dist/modules/workflows/backend/tasks/[id]/page.js +1 -1
  94. package/dist/modules/workflows/backend/tasks/[id]/page.js.map +2 -2
  95. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js +2 -2
  96. package/dist/modules/workflows/backend/tasks/[id]/page.meta.js.map +2 -2
  97. package/dist/modules/workflows/backend/tasks/page.js +6 -5
  98. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  99. package/dist/modules/workflows/cli.js +3 -81
  100. package/dist/modules/workflows/cli.js.map +3 -3
  101. package/dist/modules/workflows/data/entities.js +1 -64
  102. package/dist/modules/workflows/data/entities.js.map +2 -2
  103. package/dist/modules/workflows/data/validators.js +0 -115
  104. package/dist/modules/workflows/data/validators.js.map +2 -2
  105. package/dist/modules/workflows/examples/checkout-demo-definition.json +5 -1
  106. package/dist/modules/workflows/lib/activity-executor.js +13 -75
  107. package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
  108. package/dist/modules/workflows/lib/graph-utils.js +2 -71
  109. package/dist/modules/workflows/lib/graph-utils.js.map +2 -2
  110. package/dist/modules/workflows/lib/seeds.js +7 -36
  111. package/dist/modules/workflows/lib/seeds.js.map +2 -2
  112. package/dist/modules/workflows/lib/start-validator.js +23 -33
  113. package/dist/modules/workflows/lib/start-validator.js.map +2 -2
  114. package/dist/modules/workflows/lib/transition-handler.js +45 -157
  115. package/dist/modules/workflows/lib/transition-handler.js.map +3 -3
  116. package/dist/modules/workflows/migrations/Migration20251207131955.js +76 -72
  117. package/dist/modules/workflows/migrations/Migration20251207131955.js.map +2 -2
  118. package/dist/modules/workflows/setup.js +16 -0
  119. package/dist/modules/workflows/setup.js.map +7 -0
  120. package/generated/entities.ids.generated.ts +0 -1
  121. package/generated/entity-fields-registry.ts +0 -2
  122. package/package.json +2 -2
  123. package/src/__tests__/module-decoupling.test.ts +356 -0
  124. package/src/modules/api_keys/setup.ts +9 -0
  125. package/src/modules/attachments/components/AttachmentLibrary.tsx +2 -2
  126. package/src/modules/attachments/lib/assignmentDetails.ts +32 -16
  127. package/src/modules/attachments/lib/partitions.ts +3 -3
  128. package/src/modules/attachments/setup.ts +9 -0
  129. package/src/modules/audit_logs/setup.ts +10 -0
  130. package/src/modules/auth/__tests__/cli-setup-acl.test.ts +30 -0
  131. package/src/modules/auth/lib/setup-app.ts +40 -177
  132. package/src/modules/auth/setup.ts +9 -0
  133. package/src/modules/business_rules/data/validators.ts +0 -40
  134. package/src/modules/business_rules/index.ts +0 -25
  135. package/src/modules/business_rules/lib/rule-engine.ts +1 -281
  136. package/src/modules/business_rules/setup.ts +9 -0
  137. package/src/modules/catalog/setup.ts +22 -0
  138. package/src/modules/configs/lib/upgrade-actions.ts +78 -17
  139. package/src/modules/configs/setup.ts +14 -0
  140. package/src/modules/currencies/setup.ts +15 -0
  141. package/src/modules/customers/setup.ts +36 -0
  142. package/src/modules/dashboards/setup.ts +10 -0
  143. package/src/modules/dictionaries/setup.ts +10 -0
  144. package/src/modules/directory/setup.ts +10 -0
  145. package/src/modules/entities/setup.ts +9 -0
  146. package/src/modules/feature_toggles/setup.ts +9 -0
  147. package/src/modules/perspectives/setup.ts +10 -0
  148. package/src/modules/planner/setup.ts +21 -0
  149. package/src/modules/query_index/setup.ts +9 -0
  150. package/src/modules/resources/setup.ts +21 -0
  151. package/src/modules/sales/acl.ts +0 -1
  152. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +0 -16
  153. package/src/modules/sales/commands/documents.ts +1 -74
  154. package/src/modules/sales/lib/dictionaries.ts +0 -3
  155. package/src/modules/sales/setup.ts +108 -0
  156. package/src/modules/staff/setup.ts +27 -0
  157. package/src/modules/workflows/acl.ts +0 -2
  158. package/src/modules/workflows/api/__tests__/instances.route.test.ts +2 -5
  159. package/src/modules/workflows/api/instances/route.ts +7 -21
  160. package/src/modules/workflows/api/tasks/route.ts +1 -7
  161. package/src/modules/workflows/backend/definitions/[id]/page.meta.ts +1 -1
  162. package/src/modules/workflows/backend/definitions/[id]/page.tsx +0 -9
  163. package/src/modules/workflows/backend/definitions/create/page.meta.ts +1 -1
  164. package/src/modules/workflows/backend/definitions/create/page.tsx +0 -9
  165. package/src/modules/workflows/backend/definitions/visual-editor/page.meta.ts +1 -1
  166. package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +3 -21
  167. package/src/modules/workflows/backend/events/[id]/page.meta.ts +2 -2
  168. package/src/modules/workflows/backend/events/[id]/page.tsx +1 -1
  169. package/src/modules/workflows/backend/instances/[id]/page.meta.ts +2 -2
  170. package/src/modules/workflows/backend/tasks/[id]/page.meta.ts +2 -2
  171. package/src/modules/workflows/backend/tasks/[id]/page.tsx +1 -1
  172. package/src/modules/workflows/backend/tasks/page.tsx +6 -5
  173. package/src/modules/workflows/cli.ts +0 -111
  174. package/src/modules/workflows/data/entities.ts +0 -124
  175. package/src/modules/workflows/data/validators.ts +0 -138
  176. package/src/modules/workflows/examples/checkout-demo-definition.json +5 -1
  177. package/src/modules/workflows/i18n/en.json +0 -71
  178. package/src/modules/workflows/lib/__tests__/activity-executor.test.ts +36 -43
  179. package/src/modules/workflows/lib/__tests__/transition-handler.test.ts +90 -170
  180. package/src/modules/workflows/lib/activity-executor.ts +16 -129
  181. package/src/modules/workflows/lib/graph-utils.ts +2 -117
  182. package/src/modules/workflows/lib/seeds.ts +12 -50
  183. package/src/modules/workflows/lib/start-validator.ts +28 -38
  184. package/src/modules/workflows/lib/transition-handler.ts +55 -208
  185. package/src/modules/workflows/migrations/Migration20251207131955.ts +77 -143
  186. package/src/modules/workflows/setup.ts +15 -0
  187. package/dist/generated/entities/workflow_event_trigger/index.js +0 -33
  188. package/dist/generated/entities/workflow_event_trigger/index.js.map +0 -7
  189. package/dist/modules/auth/events.js +0 -30
  190. package/dist/modules/auth/events.js.map +0 -7
  191. package/dist/modules/business_rules/api/execute/[ruleId]/route.js +0 -145
  192. package/dist/modules/business_rules/api/execute/[ruleId]/route.js.map +0 -7
  193. package/dist/modules/catalog/events.js +0 -34
  194. package/dist/modules/catalog/events.js.map +0 -7
  195. package/dist/modules/customers/events.js +0 -49
  196. package/dist/modules/customers/events.js.map +0 -7
  197. package/dist/modules/directory/events.js +0 -23
  198. package/dist/modules/directory/events.js.map +0 -7
  199. package/dist/modules/sales/events.js +0 -63
  200. package/dist/modules/sales/events.js.map +0 -7
  201. package/dist/modules/sales/lib/frontend/documentDataEvents.js +0 -25
  202. package/dist/modules/sales/lib/frontend/documentDataEvents.js.map +0 -7
  203. package/dist/modules/workflows/components/DefinitionTriggersEditor.js +0 -481
  204. package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +0 -7
  205. package/dist/modules/workflows/components/EventTriggersEditor.js +0 -553
  206. package/dist/modules/workflows/components/EventTriggersEditor.js.map +0 -7
  207. package/dist/modules/workflows/events.js +0 -38
  208. package/dist/modules/workflows/events.js.map +0 -7
  209. package/dist/modules/workflows/examples/order-approval-definition.json +0 -257
  210. package/dist/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  211. package/dist/modules/workflows/lib/event-trigger-service.js +0 -308
  212. package/dist/modules/workflows/lib/event-trigger-service.js.map +0 -7
  213. package/dist/modules/workflows/migrations/Migration20260123143500.js +0 -36
  214. package/dist/modules/workflows/migrations/Migration20260123143500.js.map +0 -7
  215. package/dist/modules/workflows/subscribers/event-trigger.js +0 -78
  216. package/dist/modules/workflows/subscribers/event-trigger.js.map +0 -7
  217. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +0 -323
  218. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +0 -7
  219. package/dist/modules/workflows/widgets/injection/order-approval/widget.js +0 -17
  220. package/dist/modules/workflows/widgets/injection/order-approval/widget.js.map +0 -7
  221. package/dist/modules/workflows/widgets/injection-table.js +0 -19
  222. package/dist/modules/workflows/widgets/injection-table.js.map +0 -7
  223. package/generated/entities/workflow_event_trigger/index.ts +0 -15
  224. package/src/modules/auth/events.ts +0 -39
  225. package/src/modules/business_rules/api/execute/[ruleId]/route.ts +0 -163
  226. package/src/modules/catalog/events.ts +0 -45
  227. package/src/modules/customers/events.ts +0 -63
  228. package/src/modules/directory/events.ts +0 -31
  229. package/src/modules/sales/events.ts +0 -82
  230. package/src/modules/sales/lib/frontend/documentDataEvents.ts +0 -28
  231. package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +0 -581
  232. package/src/modules/workflows/components/EventTriggersEditor.tsx +0 -664
  233. package/src/modules/workflows/events.ts +0 -49
  234. package/src/modules/workflows/examples/order-approval-definition.json +0 -257
  235. package/src/modules/workflows/examples/order-approval-guard-rules.json +0 -32
  236. package/src/modules/workflows/lib/event-trigger-service.ts +0 -557
  237. package/src/modules/workflows/migrations/Migration20260123143500.ts +0 -38
  238. package/src/modules/workflows/subscribers/event-trigger.ts +0 -109
  239. package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +0 -446
  240. package/src/modules/workflows/widgets/injection/order-approval/widget.ts +0 -16
  241. package/src/modules/workflows/widgets/injection-table.ts +0 -21
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/modules/workflows/migrations/Migration20251207131955.ts"],
4
- "sourcesContent": ["import { Migration } from '@mikro-orm/migrations';\n\nexport class Migration20251207131955 extends Migration {\n\n override async up(): Promise<void> {\n this.addSql(`alter table \"rule_execution_logs\" drop constraint \"rule_execution_logs_rule_id_foreign\";`);\n\n this.addSql(`alter table \"rule_set_members\" drop constraint \"rule_set_members_rule_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variant_prices\" drop constraint \"catalog_product_variant_prices_price_kind_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_category_assignments\" drop constraint \"catalog_product_category_assignments_category_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variant_prices\" drop constraint \"catalog_product_variant_prices_offer_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_products\" drop constraint \"catalog_products_option_schema_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_tag_assignments\" drop constraint \"catalog_product_tag_assignments_tag_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variant_option_values\" drop constraint \"catalog_product_variant_option_values_variant_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variant_prices\" drop constraint \"catalog_product_variant_prices_variant_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variant_relations\" drop constraint \"catalog_product_variant_relations_child_variant_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variant_relations\" drop constraint \"catalog_product_variant_relations_parent_variant_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_category_assignments\" drop constraint \"catalog_product_category_assignments_product_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_offers\" drop constraint \"catalog_product_offers_product_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_options\" drop constraint \"catalog_product_options_product_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_relations\" drop constraint \"catalog_product_relations_child_product_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_relations\" drop constraint \"catalog_product_relations_parent_product_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_tag_assignments\" drop constraint \"catalog_product_tag_assignments_product_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variant_prices\" drop constraint \"catalog_product_variant_prices_product_id_foreign\";`);\n\n this.addSql(`alter table \"catalog_product_variants\" drop constraint \"catalog_product_variants_product_id_foreign\";`);\n\n this.addSql(`alter table \"customer_activities\" drop constraint \"customer_activities_deal_id_foreign\";`);\n\n this.addSql(`alter table \"customer_comments\" drop constraint \"customer_comments_deal_id_foreign\";`);\n\n this.addSql(`alter table \"customer_deal_companies\" drop constraint \"customer_deal_companies_deal_id_foreign\";`);\n\n this.addSql(`alter table \"customer_deal_people\" drop constraint \"customer_deal_people_deal_id_foreign\";`);\n\n this.addSql(`alter table \"customer_activities\" drop constraint \"customer_activities_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_addresses\" drop constraint \"customer_addresses_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_comments\" drop constraint \"customer_comments_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_companies\" drop constraint \"customer_companies_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_deal_companies\" drop constraint \"customer_deal_companies_company_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_deal_people\" drop constraint \"customer_deal_people_person_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_people\" drop constraint \"customer_people_company_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_people\" drop constraint \"customer_people_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_tag_assignments\" drop constraint \"customer_tag_assignments_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_todo_links\" drop constraint \"customer_todo_links_entity_id_foreign\";`);\n\n this.addSql(`alter table \"customer_tag_assignments\" drop constraint \"customer_tag_assignments_tag_id_foreign\";`);\n\n this.addSql(`alter table \"dictionary_entries\" drop constraint \"dictionary_entries_dictionary_id_foreign\";`);\n\n this.addSql(`alter table \"role_acls\" drop constraint \"role_acls_role_id_foreign\";`);\n\n this.addSql(`alter table \"role_sidebar_preferences\" drop constraint \"role_sidebar_preferences_role_id_foreign\";`);\n\n this.addSql(`alter table \"user_roles\" drop constraint \"user_roles_role_id_foreign\";`);\n\n this.addSql(`alter table \"rule_set_members\" drop constraint \"rule_set_members_rule_set_id_foreign\";`);\n\n this.addSql(`alter table \"sales_orders\" drop constraint \"sales_orders_channel_ref_id_foreign\";`);\n\n this.addSql(`alter table \"sales_credit_memo_lines\" drop constraint \"sales_credit_memo_lines_credit_memo_id_foreign\";`);\n\n this.addSql(`alter table \"sales_orders\" drop constraint \"sales_orders_delivery_window_ref_id_foreign\";`);\n\n this.addSql(`alter table \"sales_credit_memos\" drop constraint \"sales_credit_memos_invoice_id_foreign\";`);\n\n this.addSql(`alter table \"sales_invoice_lines\" drop constraint \"sales_invoice_lines_invoice_id_foreign\";`);\n\n this.addSql(`alter table \"sales_payment_allocations\" drop constraint \"sales_payment_allocations_invoice_id_foreign\";`);\n\n this.addSql(`alter table \"sales_credit_memo_lines\" drop constraint \"sales_credit_memo_lines_order_line_id_foreign\";`);\n\n this.addSql(`alter table \"sales_invoice_lines\" drop constraint \"sales_invoice_lines_order_line_id_foreign\";`);\n\n this.addSql(`alter table \"sales_order_adjustments\" drop constraint \"sales_order_adjustments_order_line_id_foreign\";`);\n\n this.addSql(`alter table \"sales_shipment_items\" drop constraint \"sales_shipment_items_order_line_id_foreign\";`);\n\n this.addSql(`alter table \"sales_credit_memos\" drop constraint \"sales_credit_memos_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_invoices\" drop constraint \"sales_invoices_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_notes\" drop constraint \"sales_notes_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_order_adjustments\" drop constraint \"sales_order_adjustments_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_order_lines\" drop constraint \"sales_order_lines_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_payment_allocations\" drop constraint \"sales_payment_allocations_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_payments\" drop constraint \"sales_payments_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_shipments\" drop constraint \"sales_shipments_order_id_foreign\";`);\n\n this.addSql(`alter table \"sales_orders\" drop constraint \"sales_orders_payment_method_ref_id_foreign\";`);\n\n this.addSql(`alter table \"sales_payments\" drop constraint \"sales_payments_payment_method_id_foreign\";`);\n\n this.addSql(`alter table \"sales_payment_allocations\" drop constraint \"sales_payment_allocations_payment_id_foreign\";`);\n\n this.addSql(`alter table \"sales_quote_adjustments\" drop constraint \"sales_quote_adjustments_quote_line_id_foreign\";`);\n\n this.addSql(`alter table \"sales_notes\" drop constraint \"sales_notes_quote_id_foreign\";`);\n\n this.addSql(`alter table \"sales_quote_adjustments\" drop constraint \"sales_quote_adjustments_quote_id_foreign\";`);\n\n this.addSql(`alter table \"sales_quote_lines\" drop constraint \"sales_quote_lines_quote_id_foreign\";`);\n\n this.addSql(`alter table \"sales_shipment_items\" drop constraint \"sales_shipment_items_shipment_id_foreign\";`);\n\n this.addSql(`alter table \"sales_orders\" drop constraint \"sales_orders_shipping_method_ref_id_foreign\";`);\n\n this.addSql(`alter table \"organizations\" drop constraint \"organizations_tenant_id_foreign\";`);\n\n this.addSql(`alter table \"password_resets\" drop constraint \"password_resets_user_id_foreign\";`);\n\n this.addSql(`alter table \"sessions\" drop constraint \"sessions_user_id_foreign\";`);\n\n this.addSql(`alter table \"user_acls\" drop constraint \"user_acls_user_id_foreign\";`);\n\n this.addSql(`alter table \"user_roles\" drop constraint \"user_roles_user_id_foreign\";`);\n\n this.addSql(`alter table \"user_sidebar_preferences\" drop constraint \"user_sidebar_preferences_user_id_foreign\";`);\n\n this.addSql(`create table \"step_instances\" (\"id\" uuid not null default gen_random_uuid(), \"workflow_instance_id\" uuid not null, \"step_id\" varchar(100) not null, \"step_name\" varchar(255) not null, \"step_type\" varchar(50) not null, \"status\" varchar(20) not null, \"input_data\" jsonb null, \"output_data\" jsonb null, \"error_data\" jsonb null, \"entered_at\" timestamptz null, \"exited_at\" timestamptz null, \"execution_time_ms\" int null, \"retry_count\" int not null default 0, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, constraint \"step_instances_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"step_instances_tenant_org_idx\" on \"step_instances\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"step_instances_step_id_idx\" on \"step_instances\" (\"step_id\", \"status\");`);\n this.addSql(`create index \"step_instances_workflow_instance_idx\" on \"step_instances\" (\"workflow_instance_id\", \"status\");`);\n\n this.addSql(`create table \"user_tasks\" (\"id\" uuid not null default gen_random_uuid(), \"workflow_instance_id\" uuid not null, \"step_instance_id\" uuid not null, \"task_name\" varchar(255) not null, \"description\" text null, \"status\" varchar(20) not null, \"form_schema\" jsonb null, \"form_data\" jsonb null, \"assigned_to\" varchar(255) null, \"assigned_to_roles\" text[] null, \"claimed_by\" varchar(255) null, \"claimed_at\" timestamptz null, \"due_date\" timestamptz null, \"escalated_at\" timestamptz null, \"escalated_to\" varchar(255) null, \"completed_by\" varchar(255) null, \"completed_at\" timestamptz null, \"comments\" text null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, constraint \"user_tasks_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"user_tasks_tenant_org_idx\" on \"user_tasks\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"user_tasks_status_due_date_idx\" on \"user_tasks\" (\"status\", \"due_date\");`);\n this.addSql(`create index \"user_tasks_status_assigned_idx\" on \"user_tasks\" (\"status\", \"assigned_to\");`);\n this.addSql(`create index \"user_tasks_workflow_instance_idx\" on \"user_tasks\" (\"workflow_instance_id\");`);\n\n this.addSql(`create table \"workflow_definitions\" (\"id\" uuid not null default gen_random_uuid(), \"workflow_id\" varchar(100) not null, \"workflow_name\" varchar(255) not null, \"description\" text null, \"version\" int not null default 1, \"definition\" jsonb not null, \"metadata\" jsonb null, \"enabled\" boolean not null default true, \"effective_from\" timestamptz null, \"effective_to\" timestamptz null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_by\" varchar(255) null, \"updated_by\" varchar(255) null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, \"deleted_at\" timestamptz null, constraint \"workflow_definitions_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"workflow_definitions_workflow_id_idx\" on \"workflow_definitions\" (\"workflow_id\");`);\n this.addSql(`create index \"workflow_definitions_tenant_org_idx\" on \"workflow_definitions\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"workflow_definitions_enabled_idx\" on \"workflow_definitions\" (\"enabled\");`);\n this.addSql(`alter table \"workflow_definitions\" add constraint \"workflow_definitions_workflow_id_tenant_id_unique\" unique (\"workflow_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"workflow_events\" (\"id\" bigserial primary key, \"workflow_instance_id\" uuid not null, \"step_instance_id\" uuid null, \"event_type\" varchar(50) not null, \"event_data\" jsonb not null, \"occurred_at\" timestamptz not null, \"user_id\" varchar(255) null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null);`);\n this.addSql(`create index \"workflow_events_tenant_org_idx\" on \"workflow_events\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"workflow_events_event_type_idx\" on \"workflow_events\" (\"event_type\", \"occurred_at\");`);\n this.addSql(`create index \"workflow_events_instance_occurred_idx\" on \"workflow_events\" (\"workflow_instance_id\", \"occurred_at\");`);\n\n this.addSql(`create table \"workflow_instances\" (\"id\" uuid not null default gen_random_uuid(), \"definition_id\" uuid not null, \"workflow_id\" varchar(100) not null, \"version\" int not null, \"status\" varchar(20) not null, \"current_step_id\" varchar(100) not null, \"context\" jsonb not null, \"correlation_key\" varchar(255) null, \"metadata\" jsonb null, \"started_at\" timestamptz not null, \"completed_at\" timestamptz null, \"paused_at\" timestamptz null, \"cancelled_at\" timestamptz null, \"error_message\" text null, \"error_details\" jsonb null, \"retry_count\" int not null default 0, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, \"deleted_at\" timestamptz null, constraint \"workflow_instances_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"workflow_instances_tenant_org_idx\" on \"workflow_instances\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"workflow_instances_current_step_idx\" on \"workflow_instances\" (\"current_step_id\", \"status\");`);\n this.addSql(`create index \"workflow_instances_status_tenant_idx\" on \"workflow_instances\" (\"status\", \"tenant_id\");`);\n this.addSql(`create index \"workflow_instances_correlation_key_idx\" on \"workflow_instances\" (\"correlation_key\");`);\n this.addSql(`create index \"workflow_instances_definition_status_idx\" on \"workflow_instances\" (\"definition_id\", \"status\");`);\n }\n\n override async down(): Promise<void> {\n this.addSql(`create table \"access_logs\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid null, \"organization_id\" uuid null, \"actor_user_id\" uuid null, \"resource_kind\" text not null, \"resource_id\" text not null, \"access_type\" text not null, \"fields_json\" jsonb null, \"context_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"access_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"access_logs_actor_idx\" on \"access_logs\" (\"actor_user_id\", \"created_at\");`);\n this.addSql(`create index \"access_logs_tenant_idx\" on \"access_logs\" (\"tenant_id\", \"created_at\");`);\n\n this.addSql(`create table \"action_logs\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid null, \"organization_id\" uuid null, \"actor_user_id\" uuid null, \"command_id\" text not null, \"action_label\" text null, \"resource_kind\" text null, \"resource_id\" text null, \"execution_state\" text not null default 'done', \"undo_token\" text null, \"command_payload\" jsonb null, \"snapshot_before\" jsonb null, \"snapshot_after\" jsonb null, \"changes_json\" jsonb null, \"context_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"action_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"action_logs_actor_idx\" on \"action_logs\" (\"actor_user_id\", \"created_at\");`);\n this.addSql(`create index \"action_logs_tenant_idx\" on \"action_logs\" (\"tenant_id\", \"created_at\");`);\n\n this.addSql(`create table \"api_keys\" (\"id\" uuid not null default gen_random_uuid(), \"name\" text not null, \"description\" text null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"key_hash\" text not null, \"key_prefix\" text not null, \"roles_json\" jsonb null, \"created_by\" uuid null, \"last_used_at\" timestamptz(6) null, \"expires_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"api_keys_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"api_keys\" add constraint \"api_keys_key_prefix_unique\" unique (\"key_prefix\");`);\n\n this.addSql(`create table \"attachment_partitions\" (\"id\" uuid not null default gen_random_uuid(), \"code\" text not null, \"title\" text not null, \"description\" text null, \"storage_driver\" text not null default 'local', \"config_json\" jsonb null, \"is_public\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"attachment_partitions_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"attachment_partitions\" add constraint \"attachment_partitions_code_unique\" unique (\"code\");`);\n\n this.addSql(`create table \"attachments\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"record_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"file_name\" text not null, \"mime_type\" text not null, \"file_size\" int4 not null, \"url\" text not null, \"created_at\" timestamptz(6) not null, \"partition_code\" text not null, \"storage_driver\" text not null default 'local', \"storage_path\" text not null, \"storage_metadata\" jsonb null, constraint \"attachments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"attachments_entity_record_idx\" on \"attachments\" (\"record_id\");`);\n this.addSql(`create index \"attachments_partition_code_idx\" on \"attachments\" (\"partition_code\");`);\n\n this.addSql(`create table \"business_rules\" (\"id\" uuid not null default gen_random_uuid(), \"rule_id\" varchar(50) not null, \"rule_name\" varchar(200) not null, \"description\" text null, \"rule_type\" varchar(20) not null, \"rule_category\" varchar(50) null, \"entity_type\" varchar(50) not null, \"event_type\" varchar(50) null, \"condition_expression\" jsonb not null, \"success_actions\" jsonb null, \"failure_actions\" jsonb null, \"enabled\" bool not null default true, \"priority\" int4 not null default 100, \"version\" int4 not null default 1, \"effective_from\" timestamptz(6) null, \"effective_to\" timestamptz(6) null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_by\" varchar(50) null, \"updated_by\" varchar(50) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"business_rules_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"business_rules_entity_event_idx\" on \"business_rules\" (\"entity_type\", \"event_type\", \"enabled\");`);\n this.addSql(`alter table \"business_rules\" add constraint \"business_rules_rule_id_tenant_id_unique\" unique (\"rule_id\", \"tenant_id\");`);\n this.addSql(`create index \"business_rules_tenant_org_idx\" on \"business_rules\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"business_rules_type_enabled_idx\" on \"business_rules\" (\"rule_type\", \"enabled\", \"priority\");`);\n\n this.addSql(`create table \"catalog_price_kinds\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"code\" text not null, \"title\" text not null, \"display_mode\" text not null default 'excluding-tax', \"currency_code\" text null, \"is_promotion\" bool not null default false, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"catalog_price_kinds_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_price_kinds\" add constraint \"catalog_price_kinds_code_scope_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"catalog_price_kinds_scope_idx\" on \"catalog_price_kinds\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_categories\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"slug\" text null, \"description\" text null, \"parent_id\" uuid null, \"root_id\" uuid null, \"tree_path\" text null, \"depth\" int4 not null default 0, \"ancestor_ids\" jsonb not null default '[]', \"child_ids\" jsonb not null default '[]', \"descendant_ids\" jsonb not null default '[]', \"metadata\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"catalog_product_categories_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_categories_scope_idx\" on \"catalog_product_categories\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_categories\" add constraint \"catalog_product_categories_slug_unique\" unique (\"organization_id\", \"tenant_id\", \"slug\");`);\n\n this.addSql(`create table \"catalog_product_category_assignments\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"category_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"position\" int4 not null default 0, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_category_assignments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_category_assignments_scope_idx\" on \"catalog_product_category_assignments\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_category_assignments\" add constraint \"catalog_product_category_assignments_unique\" unique (\"product_id\", \"category_id\");`);\n\n this.addSql(`create table \"catalog_product_offers\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"channel_id\" uuid not null, \"title\" text not null, \"description\" text null, \"localized_content\" jsonb null, \"metadata\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"default_media_id\" uuid null, \"default_media_url\" text null, constraint \"catalog_product_offers_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_offers\" add constraint \"catalog_product_offers_product_channel_unique\" unique (\"product_id\", \"organization_id\", \"tenant_id\", \"channel_id\");`);\n this.addSql(`create index \"catalog_product_offers_scope_idx\" on \"catalog_product_offers\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_option_schemas\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"schema\" jsonb not null, \"metadata\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"catalog_product_option_schemas_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_option_schemas\" add constraint \"catalog_product_option_schemas_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"catalog_product_option_schemas_scope_idx\" on \"catalog_product_option_schemas\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_option_values\" (\"id\" uuid not null default gen_random_uuid(), \"option_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"code\" text not null, \"label\" text not null, \"description\" text null, \"position\" int4 not null default 0, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_option_values_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_option_values\" add constraint \"catalog_product_option_values_code_unique\" unique (\"organization_id\", \"tenant_id\", \"option_id\", \"code\");`);\n this.addSql(`create index \"catalog_product_option_values_scope_idx\" on \"catalog_product_option_values\" (\"option_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_options\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"code\" text not null, \"label\" text not null, \"description\" text null, \"position\" int4 not null default 0, \"is_required\" bool not null default false, \"is_multiple\" bool not null default false, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"input_type\" text not null default 'select', \"input_config\" jsonb null, constraint \"catalog_product_options_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_options_scope_idx\" on \"catalog_product_options\" (\"product_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_relations\" (\"id\" uuid not null default gen_random_uuid(), \"parent_product_id\" uuid not null, \"child_product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"relation_type\" text not null default 'grouped', \"is_required\" bool not null default false, \"min_quantity\" int4 null, \"max_quantity\" int4 null, \"position\" int4 not null default 0, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_relations_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_relations_child_idx\" on \"catalog_product_relations\" (\"child_product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"catalog_product_relations_parent_idx\" on \"catalog_product_relations\" (\"parent_product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_relations\" add constraint \"catalog_product_relations_unique\" unique (\"parent_product_id\", \"child_product_id\", \"relation_type\");`);\n\n this.addSql(`create table \"catalog_product_tag_assignments\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"tag_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_tag_assignments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_tag_assignments_scope_idx\" on \"catalog_product_tag_assignments\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_tag_assignments\" add constraint \"catalog_product_tag_assignments_unique\" unique (\"product_id\", \"tag_id\");`);\n\n this.addSql(`create table \"catalog_product_tags\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"label\" text not null, \"slug\" text not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_tags_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_tags_scope_idx\" on \"catalog_product_tags\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_tags\" add constraint \"catalog_product_tags_slug_unique\" unique (\"organization_id\", \"tenant_id\", \"slug\");`);\n\n this.addSql(`create table \"catalog_product_variant_option_values\" (\"id\" uuid not null default gen_random_uuid(), \"variant_id\" uuid not null, \"option_value_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_variant_option_values_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_variant_option_values\" add constraint \"catalog_product_variant_option_values_unique\" unique (\"variant_id\", \"option_value_id\");`);\n\n this.addSql(`create table \"catalog_product_variant_prices\" (\"id\" uuid not null default gen_random_uuid(), \"variant_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"currency_code\" text not null, \"kind\" text not null default 'regular', \"min_quantity\" int4 not null default 1, \"max_quantity\" int4 null, \"unit_price_net\" numeric(16,4) null, \"unit_price_gross\" numeric(16,4) null, \"tax_rate\" numeric(7,4) null, \"metadata\" jsonb null, \"starts_at\" timestamptz(6) null, \"ends_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"product_id\" uuid null, \"offer_id\" uuid null, \"channel_id\" uuid null, \"user_id\" uuid null, \"user_group_id\" uuid null, \"customer_id\" uuid null, \"customer_group_id\" uuid null, \"price_kind_id\" uuid not null, \"tax_amount\" numeric(16,4) null, constraint \"catalog_product_variant_prices_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_variant_prices_product_scope_idx\" on \"catalog_product_variant_prices\" (\"product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_variant_prices\" add constraint \"catalog_product_variant_prices_unique\" unique (\"variant_id\", \"organization_id\", \"tenant_id\", \"currency_code\", \"price_kind_id\", \"min_quantity\");`);\n this.addSql(`create index \"catalog_product_variant_prices_variant_scope_idx\" on \"catalog_product_variant_prices\" (\"variant_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_variant_relations\" (\"id\" uuid not null default gen_random_uuid(), \"parent_variant_id\" uuid not null, \"child_variant_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"relation_type\" text not null default 'grouped', \"is_required\" bool not null default false, \"min_quantity\" int4 null, \"max_quantity\" int4 null, \"position\" int4 not null default 0, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_variant_relations_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_variant_relations_child_idx\" on \"catalog_product_variant_relations\" (\"child_variant_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"catalog_product_variant_relations_parent_idx\" on \"catalog_product_variant_relations\" (\"parent_variant_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_variant_relations\" add constraint \"catalog_product_variant_relations_unique\" unique (\"parent_variant_id\", \"child_variant_id\", \"relation_type\");`);\n\n this.addSql(`create table \"catalog_product_variants\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text null, \"sku\" text null, \"barcode\" text null, \"status_entry_id\" text null, \"is_default\" bool not null default false, \"is_active\" bool not null default true, \"weight_value\" numeric(16,4) null, \"weight_unit\" text null, \"dimensions\" jsonb null, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"custom_fieldset_code\" text null, \"default_media_id\" uuid null, \"default_media_url\" text null, \"option_values\" jsonb null, constraint \"catalog_product_variants_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_variants_scope_idx\" on \"catalog_product_variants\" (\"product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_variants\" add constraint \"catalog_product_variants_sku_unique\" unique (\"organization_id\", \"tenant_id\", \"sku\");`);\n\n this.addSql(`create table \"catalog_products\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"title\" text not null, \"description\" text null, \"subtitle\" text null, \"status_entry_id\" uuid null, \"primary_currency_code\" text null, \"default_unit\" text null, \"metadata\" jsonb null, \"is_configurable\" bool not null default false, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"product_type\" text not null default 'simple', \"sku\" text null, \"handle\" text null, \"option_schema_id\" uuid null, \"custom_fieldset_code\" text null, \"default_media_id\" uuid null, \"default_media_url\" text null, \"weight_value\" numeric(16,4) null, \"weight_unit\" text null, \"dimensions\" jsonb null, constraint \"catalog_products_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_products\" add constraint \"catalog_products_handle_scope_unique\" unique (\"organization_id\", \"tenant_id\", \"handle\");`);\n this.addSql(`create index \"catalog_products_org_tenant_idx\" on \"catalog_products\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_products\" add constraint \"catalog_products_sku_scope_unique\" unique (\"organization_id\", \"tenant_id\", \"sku\");`);\n\n this.addSql(`create table \"custom_entities\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"label\" text not null, \"description\" text null, \"label_field\" text null, \"default_editor\" text null, \"show_in_sidebar\" bool not null default false, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_entities_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"custom_entities_unique_idx\" on \"custom_entities\" (\"entity_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"custom_entities_storage\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"doc\" jsonb not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_entities_storage_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"custom_entities_storage_unique_idx\" on \"custom_entities_storage\" (\"entity_type\", \"entity_id\", \"organization_id\");`);\n\n this.addSql(`create table \"custom_field_defs\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"key\" text not null, \"kind\" text not null, \"config_json\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_field_defs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"cf_defs_active_entity_global_idx\" on \"custom_field_defs\" (\"entity_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_key_scope_idx\" on \"custom_field_defs\" (\"entity_id\", \"key\", \"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_org_idx\" on \"custom_field_defs\" (\"entity_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_tenant_idx\" on \"custom_field_defs\" (\"entity_id\", \"tenant_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_tenant_org_idx\" on \"custom_field_defs\" (\"entity_id\", \"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_defs_entity_key_idx\" on \"custom_field_defs\" (\"key\");`);\n\n this.addSql(`create table \"custom_field_entity_configs\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"config_json\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_field_entity_configs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"cf_entity_cfgs_entity_org_idx\" on \"custom_field_entity_configs\" (\"entity_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_entity_cfgs_entity_scope_idx\" on \"custom_field_entity_configs\" (\"entity_id\", \"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_entity_cfgs_entity_tenant_idx\" on \"custom_field_entity_configs\" (\"entity_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"custom_field_values\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"record_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"field_key\" text not null, \"value_text\" text null, \"value_multiline\" text null, \"value_int\" int4 null, \"value_float\" float4 null, \"value_bool\" bool null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_field_values_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"cf_values_entity_record_field_idx\" on \"custom_field_values\" (\"field_key\");`);\n this.addSql(`create index \"cf_values_entity_record_tenant_idx\" on \"custom_field_values\" (\"entity_id\", \"record_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_activities\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"activity_type\" text not null, \"subject\" text null, \"body\" text null, \"occurred_at\" timestamptz(6) null, \"author_user_id\" uuid null, \"appearance_icon\" text null, \"appearance_color\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, \"deal_id\" uuid null, constraint \"customer_activities_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_activities_entity_idx\" on \"customer_activities\" (\"entity_id\");`);\n this.addSql(`create index \"customer_activities_entity_occurred_created_idx\" on \"customer_activities\" (\"entity_id\", \"occurred_at\", \"created_at\");`);\n this.addSql(`create index \"customer_activities_org_tenant_idx\" on \"customer_activities\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_addresses\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text null, \"purpose\" text null, \"address_line1\" text not null, \"address_line2\" text null, \"city\" text null, \"region\" text null, \"postal_code\" text null, \"country\" text null, \"building_number\" text null, \"flat_number\" text null, \"latitude\" float4 null, \"longitude\" float4 null, \"is_primary\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, constraint \"customer_addresses_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_addresses_entity_idx\" on \"customer_addresses\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_comments\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"body\" text not null, \"author_user_id\" uuid null, \"appearance_icon\" text null, \"appearance_color\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"entity_id\" uuid not null, \"deal_id\" uuid null, constraint \"customer_comments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_comments_entity_created_idx\" on \"customer_comments\" (\"entity_id\", \"created_at\");`);\n this.addSql(`create index \"customer_comments_entity_idx\" on \"customer_comments\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_companies\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"legal_name\" text null, \"brand_name\" text null, \"domain\" text null, \"website_url\" text null, \"industry\" text null, \"size_bucket\" text null, \"annual_revenue\" numeric(16,2) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, constraint \"customer_companies_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_companies\" add constraint \"customer_companies_entity_id_unique\" unique (\"entity_id\");`);\n this.addSql(`create index \"customer_companies_org_tenant_idx\" on \"customer_companies\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"idx_customer_companies_entity_id\" on \"customer_companies\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_deal_companies\" (\"id\" uuid not null default gen_random_uuid(), \"created_at\" timestamptz(6) not null, \"deal_id\" uuid not null, \"company_entity_id\" uuid not null, constraint \"customer_deal_companies_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_deal_companies_company_idx\" on \"customer_deal_companies\" (\"company_entity_id\");`);\n this.addSql(`create index \"customer_deal_companies_deal_idx\" on \"customer_deal_companies\" (\"deal_id\");`);\n this.addSql(`alter table \"customer_deal_companies\" add constraint \"customer_deal_companies_unique\" unique (\"deal_id\", \"company_entity_id\");`);\n\n this.addSql(`create table \"customer_deal_people\" (\"id\" uuid not null default gen_random_uuid(), \"role\" text null, \"created_at\" timestamptz(6) not null, \"deal_id\" uuid not null, \"person_entity_id\" uuid not null, constraint \"customer_deal_people_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_deal_people_deal_idx\" on \"customer_deal_people\" (\"deal_id\");`);\n this.addSql(`create index \"customer_deal_people_person_idx\" on \"customer_deal_people\" (\"person_entity_id\");`);\n this.addSql(`alter table \"customer_deal_people\" add constraint \"customer_deal_people_unique\" unique (\"deal_id\", \"person_entity_id\");`);\n\n this.addSql(`create table \"customer_deals\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"title\" text not null, \"description\" text null, \"status\" text not null default 'open', \"pipeline_stage\" text null, \"value_amount\" numeric(14,2) null, \"value_currency\" text null, \"probability\" int4 null, \"expected_close_at\" timestamptz(6) null, \"owner_user_id\" uuid null, \"source\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"customer_deals_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_deals_org_tenant_idx\" on \"customer_deals\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_dictionary_entries\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"kind\" text not null, \"value\" text not null, \"normalized_value\" text not null, \"label\" text not null, \"color\" text null, \"icon\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"customer_dictionary_entries_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_dictionary_entries_scope_idx\" on \"customer_dictionary_entries\" (\"organization_id\", \"tenant_id\", \"kind\");`);\n this.addSql(`alter table \"customer_dictionary_entries\" add constraint \"customer_dictionary_entries_unique\" unique (\"organization_id\", \"tenant_id\", \"kind\", \"normalized_value\");`);\n\n this.addSql(`create table \"customer_entities\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"kind\" text not null, \"display_name\" text not null, \"description\" text null, \"owner_user_id\" uuid null, \"primary_email\" text null, \"primary_phone\" text null, \"status\" text null, \"lifecycle_stage\" text null, \"source\" text null, \"next_interaction_at\" timestamptz(6) null, \"next_interaction_name\" text null, \"next_interaction_ref_id\" text null, \"next_interaction_icon\" text null, \"next_interaction_color\" text null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"customer_entities_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_entities_org_tenant_kind_idx\" on \"customer_entities\" (\"organization_id\", \"tenant_id\", \"kind\");`);\n this.addSql(`create index \"idx_ce_tenant_company_id\" on \"customer_entities\" (\"tenant_id\", \"id\");`);\n this.addSql(`create index \"idx_ce_tenant_org_company_id\" on \"customer_entities\" (\"tenant_id\", \"organization_id\", \"id\");`);\n this.addSql(`create index \"idx_ce_tenant_org_person_id\" on \"customer_entities\" (\"tenant_id\", \"organization_id\", \"id\");`);\n this.addSql(`create index \"idx_ce_tenant_person_id\" on \"customer_entities\" (\"tenant_id\", \"id\");`);\n\n this.addSql(`create table \"customer_people\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"first_name\" text null, \"last_name\" text null, \"preferred_name\" text null, \"job_title\" text null, \"department\" text null, \"seniority\" text null, \"timezone\" text null, \"linked_in_url\" text null, \"twitter_url\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, \"company_entity_id\" uuid null, constraint \"customer_people_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_people\" add constraint \"customer_people_entity_id_unique\" unique (\"entity_id\");`);\n this.addSql(`create index \"customer_people_org_tenant_idx\" on \"customer_people\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"idx_customer_people_entity_id\" on \"customer_people\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_settings\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"address_format\" text not null default 'line_first', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"customer_settings_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_settings\" add constraint \"customer_settings_scope_unique\" unique (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_tag_assignments\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"created_at\" timestamptz(6) not null, \"tag_id\" uuid not null, \"entity_id\" uuid not null, constraint \"customer_tag_assignments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_tag_assignments_entity_idx\" on \"customer_tag_assignments\" (\"entity_id\");`);\n this.addSql(`alter table \"customer_tag_assignments\" add constraint \"customer_tag_assignments_unique\" unique (\"tag_id\", \"entity_id\");`);\n\n this.addSql(`create table \"customer_tags\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"slug\" text not null, \"label\" text not null, \"color\" text null, \"description\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"customer_tags_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_tags\" add constraint \"customer_tags_org_slug_unique\" unique (\"organization_id\", \"tenant_id\", \"slug\");`);\n this.addSql(`create index \"customer_tags_org_tenant_idx\" on \"customer_tags\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_todo_links\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"todo_id\" uuid not null, \"todo_source\" text not null default 'example:todo', \"created_at\" timestamptz(6) not null, \"created_by_user_id\" uuid null, \"entity_id\" uuid not null, constraint \"customer_todo_links_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_todo_links_entity_created_idx\" on \"customer_todo_links\" (\"entity_id\", \"created_at\");`);\n this.addSql(`create index \"customer_todo_links_entity_idx\" on \"customer_todo_links\" (\"entity_id\");`);\n this.addSql(`alter table \"customer_todo_links\" add constraint \"customer_todo_links_unique\" unique (\"entity_id\", \"todo_id\", \"todo_source\");`);\n\n this.addSql(`create table \"dashboard_layouts\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"layout_json\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"dashboard_layouts_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dashboard_layouts\" add constraint \"dashboard_layouts_user_id_tenant_id_organization_id_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"dashboard_role_widgets\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"widget_ids_json\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"dashboard_role_widgets_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dashboard_role_widgets\" add constraint \"dashboard_role_widgets_role_id_tenant_id_organization_id_unique\" unique (\"role_id\", \"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"dashboard_user_widgets\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"mode\" text not null default 'inherit', \"widget_ids_json\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"dashboard_user_widgets_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dashboard_user_widgets\" add constraint \"dashboard_user_widgets_user_id_tenant_id_organization_id_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"dictionaries\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"key\" text not null, \"name\" text not null, \"description\" text null, \"is_system\" bool not null default false, \"is_active\" bool not null default true, \"manager_visibility\" text not null default 'default', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"dictionaries_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dictionaries\" add constraint \"dictionaries_scope_key_unique\" unique (\"organization_id\", \"tenant_id\", \"key\");`);\n\n this.addSql(`create table \"dictionary_entries\" (\"id\" uuid not null default gen_random_uuid(), \"dictionary_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"value\" text not null, \"normalized_value\" text not null, \"label\" text not null, \"color\" text null, \"icon\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"dictionary_entries_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"dictionary_entries_scope_idx\" on \"dictionary_entries\" (\"dictionary_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"dictionary_entries\" add constraint \"dictionary_entries_unique\" unique (\"dictionary_id\", \"organization_id\", \"tenant_id\", \"normalized_value\");`);\n\n this.addSql(`create table \"entity_index_coverage\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"with_deleted\" bool not null default false, \"base_count\" int4 not null default 0, \"indexed_count\" int4 not null default 0, \"vector_indexed_count\" int4 not null default 0, \"refreshed_at\" timestamptz(6) not null, constraint \"entity_index_coverage_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"entity_index_coverage\" add constraint \"entity_index_coverage_scope_idx\" unique (\"entity_type\", \"tenant_id\", \"organization_id\", \"with_deleted\");`);\n\n this.addSql(`create table \"entity_index_jobs\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"partition_index\" int4 null, \"partition_count\" int4 null, \"processed_count\" int4 null, \"total_count\" int4 null, \"heartbeat_at\" timestamptz(6) null, \"status\" text not null, \"started_at\" timestamptz(6) not null, \"finished_at\" timestamptz(6) null, constraint \"entity_index_jobs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"entity_index_jobs_org_idx\" on \"entity_index_jobs\" (\"organization_id\");`);\n this.addSql(`create index \"entity_index_jobs_type_idx\" on \"entity_index_jobs\" (\"entity_type\");`);\n\n this.addSql(`create table \"entity_indexes\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"doc\" jsonb not null, \"embedding\" jsonb null, \"index_version\" int4 not null default 1, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"entity_indexes_pkey\" primary key (\"id\"));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_company_profile_doc_idx ON public.entity_indexes USING btree (entity_id, organization_id, tenant_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_company_profile'::text) AND (organization_id IS NOT NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_company_profile_tenant_doc_idx ON public.entity_indexes USING btree (tenant_id, entity_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_company_profile'::text) AND (organization_id IS NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_entity_doc_idx ON public.entity_indexes USING btree (entity_id, organization_id, tenant_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_entity'::text) AND (organization_id IS NOT NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_entity_tenant_doc_idx ON public.entity_indexes USING btree (tenant_id, entity_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_entity'::text) AND (organization_id IS NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_person_profile_doc_idx ON public.entity_indexes USING btree (entity_id, organization_id, tenant_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_person_profile'::text) AND (organization_id IS NOT NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_person_profile_tenant_doc_idx ON public.entity_indexes USING btree (tenant_id, entity_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_person_profile'::text) AND (organization_id IS NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`create index \"entity_indexes_entity_idx\" on \"entity_indexes\" (\"entity_id\");`);\n this.addSql(`create index \"entity_indexes_org_idx\" on \"entity_indexes\" (\"organization_id\");`);\n this.addSql(`create index \"entity_indexes_type_idx\" on \"entity_indexes\" (\"entity_type\");`);\n this.addSql(`create index \"entity_indexes_type_tenant_idx\" on \"entity_indexes\" (\"entity_type\", \"tenant_id\");`);\n\n this.addSql(`create table \"example_items\" (\"id\" uuid not null default gen_random_uuid(), \"title\" text not null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"example_items_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"indexer_error_logs\" (\"id\" uuid not null default gen_random_uuid(), \"source\" text not null, \"handler\" text not null, \"entity_type\" text null, \"record_id\" text null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"payload\" jsonb null, \"message\" text not null, \"stack\" text null, \"occurred_at\" timestamptz(6) not null, constraint \"indexer_error_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"indexer_error_logs_occurred_idx\" on \"indexer_error_logs\" (\"occurred_at\");`);\n this.addSql(`create index \"indexer_error_logs_source_idx\" on \"indexer_error_logs\" (\"source\");`);\n\n this.addSql(`create table \"indexer_status_logs\" (\"id\" uuid not null default gen_random_uuid(), \"source\" text not null, \"handler\" text not null, \"level\" text not null default 'info', \"entity_type\" text null, \"record_id\" text null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"message\" text not null, \"details\" jsonb null, \"occurred_at\" timestamptz(6) not null default now(), constraint \"indexer_status_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"indexer_status_logs_occurred_idx\" on \"indexer_status_logs\" (\"occurred_at\");`);\n this.addSql(`create index \"indexer_status_logs_source_idx\" on \"indexer_status_logs\" (\"source\");`);\n\n this.addSql(`create table \"mikro_orm_migrations_api_keys\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_attachments\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_audit_logs\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_auth\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_business_rules\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_catalog\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_configs\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_customers\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_dashboards\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_dictionaries\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_directory\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_entities\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_example\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_onboarding\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_perspectives\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_query_index\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_sales\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"module_configs\" (\"id\" uuid not null default gen_random_uuid(), \"module_id\" text not null, \"name\" text not null, \"value_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"module_configs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"module_configs_module_idx\" on \"module_configs\" (\"module_id\");`);\n this.addSql(`alter table \"module_configs\" add constraint \"module_configs_module_name_unique\" unique (\"module_id\", \"name\");`);\n\n this.addSql(`create table \"onboarding_requests\" (\"id\" uuid not null default gen_random_uuid(), \"email\" text not null, \"token_hash\" text not null, \"status\" text not null default 'pending', \"first_name\" text not null, \"last_name\" text not null, \"organization_name\" text not null, \"locale\" text null, \"terms_accepted\" bool not null default false, \"expires_at\" timestamptz(6) not null, \"completed_at\" timestamptz(6) null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"user_id\" uuid null, \"last_email_sent_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, \"password_hash\" text null, constraint \"onboarding_requests_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"onboarding_requests\" add constraint \"onboarding_requests_email_unique\" unique (\"email\");`);\n this.addSql(`alter table \"onboarding_requests\" add constraint \"onboarding_requests_token_hash_unique\" unique (\"token_hash\");`);\n\n this.addSql(`create table \"organizations\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid not null, \"name\" text not null, \"is_active\" bool not null default true, \"parent_id\" uuid null, \"root_id\" uuid null, \"tree_path\" text null, \"depth\" int4 not null default 0, \"ancestor_ids\" jsonb not null default '[]', \"child_ids\" jsonb not null default '[]', \"descendant_ids\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"organizations_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"password_resets\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"token\" text not null, \"expires_at\" timestamptz(6) not null, \"used_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"password_resets_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"password_resets\" add constraint \"password_resets_token_unique\" unique (\"token\");`);\n\n this.addSql(`create table \"perspectives\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"table_id\" text not null, \"name\" text not null, \"settings_json\" jsonb not null, \"is_default\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"perspectives_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"perspectives\" add constraint \"perspectives_user_id_tenant_id_organization_id_ta_2d725_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\", \"table_id\", \"name\");`);\n this.addSql(`create index \"perspectives_user_scope_idx\" on \"perspectives\" (\"user_id\", \"tenant_id\", \"organization_id\", \"table_id\");`);\n\n this.addSql(`create table \"role_acls\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid not null, \"features_json\" jsonb null, \"is_super_admin\" bool not null default false, \"organizations_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"role_acls_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"role_perspectives\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"table_id\" text not null, \"name\" text not null, \"settings_json\" jsonb not null, \"is_default\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"role_perspectives_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"role_perspectives\" add constraint \"role_perspectives_role_id_tenant_id_organization__c5467_unique\" unique (\"role_id\", \"tenant_id\", \"organization_id\", \"table_id\", \"name\");`);\n this.addSql(`create index \"role_perspectives_role_scope_idx\" on \"role_perspectives\" (\"role_id\", \"tenant_id\", \"organization_id\", \"table_id\");`);\n\n this.addSql(`create table \"role_sidebar_preferences\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid null, \"locale\" text not null, \"settings_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"role_sidebar_preferences_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"role_sidebar_preferences\" add constraint \"role_sidebar_preferences_role_id_tenant_id_locale_unique\" unique (\"role_id\", \"tenant_id\", \"locale\");`);\n\n this.addSql(`create table \"roles\" (\"id\" uuid not null default gen_random_uuid(), \"name\" text not null, \"tenant_id\" uuid null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"roles_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"roles\" add constraint \"roles_tenant_id_name_unique\" unique (\"tenant_id\", \"name\");`);\n\n this.addSql(`create table \"rule_execution_logs\" (\"id\" bigserial primary key, \"rule_id\" uuid not null, \"entity_id\" uuid not null, \"entity_type\" varchar(50) not null, \"execution_result\" varchar(20) not null, \"input_context\" jsonb null, \"output_context\" jsonb null, \"error_message\" text null, \"execution_time_ms\" int4 not null, \"executed_at\" timestamptz(6) not null, \"tenant_id\" uuid not null, \"organization_id\" uuid null, \"executed_by\" varchar(50) null);`);\n this.addSql(`create index \"rule_execution_logs_entity_idx\" on \"rule_execution_logs\" (\"entity_type\", \"entity_id\");`);\n this.addSql(`create index \"rule_execution_logs_result_idx\" on \"rule_execution_logs\" (\"execution_result\", \"executed_at\");`);\n this.addSql(`create index \"rule_execution_logs_rule_idx\" on \"rule_execution_logs\" (\"rule_id\");`);\n this.addSql(`create index \"rule_execution_logs_tenant_org_idx\" on \"rule_execution_logs\" (\"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"rule_set_members\" (\"id\" uuid not null default gen_random_uuid(), \"rule_set_id\" uuid not null, \"rule_id\" uuid not null, \"sequence\" int4 not null default 0, \"enabled\" bool not null default true, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz(6) not null, constraint \"rule_set_members_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"rule_set_members_rule_idx\" on \"rule_set_members\" (\"rule_id\");`);\n this.addSql(`alter table \"rule_set_members\" add constraint \"rule_set_members_rule_set_id_rule_id_unique\" unique (\"rule_set_id\", \"rule_id\");`);\n this.addSql(`create index \"rule_set_members_set_idx\" on \"rule_set_members\" (\"rule_set_id\", \"sequence\");`);\n this.addSql(`create index \"rule_set_members_tenant_org_idx\" on \"rule_set_members\" (\"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"rule_sets\" (\"id\" uuid not null default gen_random_uuid(), \"set_id\" varchar(50) not null, \"set_name\" varchar(200) not null, \"description\" text null, \"enabled\" bool not null default true, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_by\" varchar(50) null, \"updated_by\" varchar(50) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"rule_sets_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"rule_sets_enabled_idx\" on \"rule_sets\" (\"enabled\");`);\n this.addSql(`alter table \"rule_sets\" add constraint \"rule_sets_set_id_tenant_id_unique\" unique (\"set_id\", \"tenant_id\");`);\n this.addSql(`create index \"rule_sets_tenant_org_idx\" on \"rule_sets\" (\"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"sales_channels\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text null, \"description\" text null, \"status_entry_id\" uuid null, \"status\" text null, \"website_url\" text null, \"contact_email\" text null, \"contact_phone\" text null, \"address_line1\" text null, \"address_line2\" text null, \"city\" text null, \"region\" text null, \"postal_code\" text null, \"country\" text null, \"latitude\" numeric(10,6) null, \"longitude\" numeric(10,6) null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_channels_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_channels\" add constraint \"sales_channels_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_channels_org_tenant_idx\" on \"sales_channels\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_channels_status_idx\" on \"sales_channels\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_credit_memo_lines\" (\"id\" uuid not null default gen_random_uuid(), \"credit_memo_id\" uuid not null, \"order_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"description\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, constraint \"sales_credit_memo_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_credit_memo_lines_scope_idx\" on \"sales_credit_memo_lines\" (\"credit_memo_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_credit_memos\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid null, \"invoice_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"credit_memo_number\" text not null, \"status_entry_id\" uuid null, \"status\" text null, \"issue_date\" timestamptz(6) null, \"currency_code\" text not null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_credit_memos_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_credit_memos\" add constraint \"sales_credit_memos_number_unique\" unique (\"organization_id\", \"tenant_id\", \"credit_memo_number\");`);\n this.addSql(`create index \"sales_credit_memos_scope_idx\" on \"sales_credit_memos\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_credit_memos_status_idx\" on \"sales_credit_memos\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_delivery_windows\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"lead_time_days\" int4 null, \"cutoff_time\" text null, \"timezone\" text null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_delivery_windows_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_delivery_windows\" add constraint \"sales_delivery_windows_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_delivery_windows_scope_idx\" on \"sales_delivery_windows\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_invoice_lines\" (\"id\" uuid not null default gen_random_uuid(), \"invoice_id\" uuid not null, \"order_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"kind\" text not null default 'product', \"description\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"discount_amount\" numeric(18,4) not null default '0', \"discount_percent\" numeric(7,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, constraint \"sales_invoice_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_invoice_lines_scope_idx\" on \"sales_invoice_lines\" (\"invoice_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_invoices\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"invoice_number\" text not null, \"status_entry_id\" uuid null, \"status\" text null, \"issue_date\" timestamptz(6) null, \"due_date\" timestamptz(6) null, \"currency_code\" text not null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"discount_total_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"paid_total_amount\" numeric(18,4) not null default '0', \"outstanding_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_invoices_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_invoices\" add constraint \"sales_invoices_number_unique\" unique (\"organization_id\", \"tenant_id\", \"invoice_number\");`);\n this.addSql(`create index \"sales_invoices_scope_idx\" on \"sales_invoices\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_invoices_status_idx\" on \"sales_invoices\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_notes\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"context_type\" text not null, \"context_id\" uuid not null, \"order_id\" uuid null, \"quote_id\" uuid null, \"author_user_id\" uuid null, \"body\" text not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"sales_notes_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_notes_scope_idx\" on \"sales_notes\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_order_adjustments\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid not null, \"order_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"scope\" text not null default 'order', \"kind\" text not null default 'custom', \"code\" text null, \"label\" text null, \"calculator_key\" text null, \"promotion_id\" uuid null, \"rate\" numeric(7,4) not null default '0', \"amount_net\" numeric(18,4) not null default '0', \"amount_gross\" numeric(18,4) not null default '0', \"currency_code\" text null, \"metadata\" jsonb null, \"position\" int4 not null default 0, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"sales_order_adjustments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_order_adjustments_scope_idx\" on \"sales_order_adjustments\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_order_lines\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"kind\" text not null default 'product', \"status_entry_id\" uuid null, \"status\" text null, \"product_id\" uuid null, \"product_variant_id\" uuid null, \"catalog_snapshot\" jsonb null, \"name\" text null, \"description\" text null, \"comment\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"reserved_quantity\" numeric(18,4) not null default '0', \"fulfilled_quantity\" numeric(18,4) not null default '0', \"invoiced_quantity\" numeric(18,4) not null default '0', \"returned_quantity\" numeric(18,4) not null default '0', \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"discount_amount\" numeric(18,4) not null default '0', \"discount_percent\" numeric(7,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"configuration\" jsonb null, \"promotion_code\" text null, \"promotion_snapshot\" jsonb null, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_order_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_order_lines_scope_idx\" on \"sales_order_lines\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_order_lines_status_idx\" on \"sales_order_lines\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_orders\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"order_number\" text not null, \"external_reference\" text null, \"customer_reference\" text null, \"customer_entity_id\" uuid null, \"customer_contact_id\" uuid null, \"billing_address_id\" uuid null, \"shipping_address_id\" uuid null, \"currency_code\" text not null, \"exchange_rate\" numeric(18,8) null, \"status_entry_id\" uuid null, \"status\" text null, \"fulfillment_status_entry_id\" uuid null, \"fulfillment_status\" text null, \"payment_status_entry_id\" uuid null, \"payment_status\" text null, \"tax_strategy_key\" text null, \"discount_strategy_key\" text null, \"shipping_method_snapshot\" jsonb null, \"payment_method_snapshot\" jsonb null, \"placed_at\" timestamptz(6) null, \"expected_delivery_at\" timestamptz(6) null, \"due_at\" timestamptz(6) null, \"comments\" text null, \"internal_notes\" text null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"discount_total_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"shipping_net_amount\" numeric(18,4) not null default '0', \"shipping_gross_amount\" numeric(18,4) not null default '0', \"surcharge_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"paid_total_amount\" numeric(18,4) not null default '0', \"refunded_total_amount\" numeric(18,4) not null default '0', \"outstanding_amount\" numeric(18,4) not null default '0', \"line_item_count\" int4 not null default 0, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"channel_id\" uuid null, \"channel_ref_id\" uuid null, \"shipping_method_id\" uuid null, \"shipping_method_ref_id\" uuid null, \"delivery_window_id\" uuid null, \"delivery_window_ref_id\" uuid null, \"payment_method_id\" uuid null, \"payment_method_ref_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_orders_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_orders_customer_idx\" on \"sales_orders\" (\"customer_entity_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_orders_fulfillment_status_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\", \"fulfillment_status\");`);\n this.addSql(`alter table \"sales_orders\" add constraint \"sales_orders_number_unique\" unique (\"organization_id\", \"tenant_id\", \"order_number\");`);\n this.addSql(`create index \"sales_orders_org_tenant_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_orders_payment_status_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\", \"payment_status\");`);\n this.addSql(`create index \"sales_orders_status_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_payment_allocations\" (\"id\" uuid not null default gen_random_uuid(), \"payment_id\" uuid not null, \"order_id\" uuid null, \"invoice_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"amount\" numeric(18,4) not null default '0', \"currency_code\" text not null, \"metadata\" jsonb null, constraint \"sales_payment_allocations_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_payment_allocations_scope_idx\" on \"sales_payment_allocations\" (\"payment_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_payment_methods\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"provider_key\" text null, \"terms\" text null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_payment_methods_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_payment_methods\" add constraint \"sales_payment_methods_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_payment_methods_scope_idx\" on \"sales_payment_methods\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_payments\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid null, \"payment_method_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"payment_reference\" text null, \"status_entry_id\" uuid null, \"status\" text null, \"amount\" numeric(18,4) not null default '0', \"currency_code\" text not null, \"captured_amount\" numeric(18,4) not null default '0', \"refunded_amount\" numeric(18,4) not null default '0', \"received_at\" timestamptz(6) null, \"captured_at\" timestamptz(6) null, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_payments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_payments_scope_idx\" on \"sales_payments\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_payments_status_idx\" on \"sales_payments\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_quote_adjustments\" (\"id\" uuid not null default gen_random_uuid(), \"quote_id\" uuid not null, \"quote_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"scope\" text not null default 'order', \"kind\" text not null default 'custom', \"code\" text null, \"label\" text null, \"calculator_key\" text null, \"promotion_id\" uuid null, \"rate\" numeric(7,4) not null default '0', \"amount_net\" numeric(18,4) not null default '0', \"amount_gross\" numeric(18,4) not null default '0', \"currency_code\" text null, \"metadata\" jsonb null, \"position\" int4 not null default 0, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"sales_quote_adjustments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_quote_adjustments_scope_idx\" on \"sales_quote_adjustments\" (\"quote_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_quote_lines\" (\"id\" uuid not null default gen_random_uuid(), \"quote_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"kind\" text not null default 'product', \"status_entry_id\" uuid null, \"status\" text null, \"product_id\" uuid null, \"product_variant_id\" uuid null, \"catalog_snapshot\" jsonb null, \"name\" text null, \"description\" text null, \"comment\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"discount_amount\" numeric(18,4) not null default '0', \"discount_percent\" numeric(7,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"configuration\" jsonb null, \"promotion_code\" text null, \"promotion_snapshot\" jsonb null, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_quote_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_quote_lines_scope_idx\" on \"sales_quote_lines\" (\"quote_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_quote_lines_status_idx\" on \"sales_quote_lines\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_quotes\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"quote_number\" text not null, \"status_entry_id\" uuid null, \"status\" text null, \"customer_entity_id\" uuid null, \"customer_contact_id\" uuid null, \"currency_code\" text not null, \"valid_from\" timestamptz(6) null, \"valid_until\" timestamptz(6) null, \"comments\" text null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"discount_total_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"line_item_count\" int4 not null default 0, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"converted_order_id\" uuid null, constraint \"sales_quotes_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_quotes\" add constraint \"sales_quotes_number_unique\" unique (\"organization_id\", \"tenant_id\", \"quote_number\");`);\n this.addSql(`create index \"sales_quotes_scope_idx\" on \"sales_quotes\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_quotes_status_idx\" on \"sales_quotes\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_shipment_items\" (\"id\" uuid not null default gen_random_uuid(), \"shipment_id\" uuid not null, \"order_line_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"quantity\" numeric(18,4) not null default '0', \"metadata\" jsonb null, constraint \"sales_shipment_items_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_shipment_items_scope_idx\" on \"sales_shipment_items\" (\"shipment_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_shipments\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"shipment_number\" text null, \"shipping_method_id\" uuid null, \"status_entry_id\" uuid null, \"status\" text null, \"carrier_name\" text null, \"tracking_numbers\" jsonb null, \"shipped_at\" timestamptz(6) null, \"delivered_at\" timestamptz(6) null, \"weight_value\" numeric(16,4) null, \"weight_unit\" text null, \"declared_value_net\" numeric(18,4) null, \"declared_value_gross\" numeric(18,4) null, \"currency_code\" text null, \"notes\" text null, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_shipments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_shipments_scope_idx\" on \"sales_shipments\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_shipments_status_idx\" on \"sales_shipments\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_shipping_methods\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"carrier_code\" text null, \"service_level\" text null, \"estimated_transit_days\" int4 null, \"base_rate_net\" numeric(16,4) not null default '0', \"base_rate_gross\" numeric(16,4) not null default '0', \"currency_code\" text null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_shipping_methods_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_shipping_methods\" add constraint \"sales_shipping_methods_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_shipping_methods_scope_idx\" on \"sales_shipping_methods\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_tax_rates\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"rate\" numeric(7,4) not null, \"country_code\" text null, \"region_code\" text null, \"postal_code\" text null, \"city\" text null, \"customer_group_id\" uuid null, \"product_category_id\" uuid null, \"channel_id\" uuid null, \"priority\" int4 not null default 0, \"is_compound\" bool not null default false, \"metadata\" jsonb null, \"starts_at\" timestamptz(6) null, \"ends_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"is_default\" bool not null default false, constraint \"sales_tax_rates_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_tax_rates\" add constraint \"sales_tax_rates_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_tax_rates_scope_idx\" on \"sales_tax_rates\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sessions\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"token\" text not null, \"expires_at\" timestamptz(6) not null, \"created_at\" timestamptz(6) not null, \"last_used_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"sessions_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sessions\" add constraint \"sessions_token_unique\" unique (\"token\");`);\n\n this.addSql(`create table \"tenants\" (\"id\" uuid not null default gen_random_uuid(), \"name\" text not null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"tenants_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"todos\" (\"id\" uuid not null default gen_random_uuid(), \"title\" text not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"is_done\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"todos_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"user_acls\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid not null, \"features_json\" jsonb null, \"is_super_admin\" bool not null default false, \"organizations_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"user_acls_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"user_roles\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"role_id\" uuid not null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"user_roles_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"user_sidebar_preferences\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"locale\" text not null, \"settings_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"user_sidebar_preferences_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"user_sidebar_preferences\" add constraint \"user_sidebar_preferences_user_id_tenant_id_organi_f3f2f_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\", \"locale\");`);\n\n this.addSql(`create table \"users\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid null, \"organization_id\" uuid null, \"email\" text not null, \"name\" text null, \"password_hash\" text null, \"is_confirmed\" bool not null default true, \"last_login_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"users_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"users\" add constraint \"users_email_unique\" unique (\"email\");`);\n\n this.addSql(`create table \"vector_search\" (\"id\" uuid not null default gen_random_uuid(), \"driver_id\" text not null, \"entity_id\" text not null, \"record_id\" text not null, \"tenant_id\" uuid not null, \"organization_id\" uuid null, \"checksum\" text not null, \"embedding\" vector(1536) not null, \"url\" text null, \"presenter\" jsonb null, \"links\" jsonb null, \"payload\" jsonb null, \"result_title\" text null, \"result_subtitle\" text null, \"result_icon\" text null, \"result_badge\" text null, \"result_snapshot\" text null, \"primary_link_href\" text null, \"primary_link_label\" text null, \"created_at\" timestamptz(6) not null default now(), \"updated_at\" timestamptz(6) not null default now(), constraint \"vector_search_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"vector_search_embedding_idx\" on \"vector_search\" (\"embedding\");`);\n this.addSql(`create index \"vector_search_lookup\" on \"vector_search\" (\"tenant_id\", \"organization_id\", \"entity_id\");`);\n this.addSql(`alter table \"vector_search\" add constraint \"vector_search_uniq\" unique (\"driver_id\", \"entity_id\", \"record_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"vector_search_migrations\" (\"id\" text not null, \"applied_at\" timestamptz(6) not null default now(), constraint \"vector_search_migrations_pkey\" primary key (\"id\"));`);\n }\n\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Migration } from '@mikro-orm/migrations';\n\nexport class Migration20251207131955 extends Migration {\n\n /** Drop a foreign key constraint only when the owning table exists (safe for disabled modules). */\n private dropConstraintIfTableExists(table: string, constraint: string): void {\n this.addSql(`DO $$ BEGIN IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = '${table}') THEN ALTER TABLE \"${table}\" DROP CONSTRAINT IF EXISTS \"${constraint}\"; END IF; END $$;`)\n }\n\n override async up(): Promise<void> {\n this.dropConstraintIfTableExists('rule_execution_logs', 'rule_execution_logs_rule_id_foreign');\n this.dropConstraintIfTableExists('rule_set_members', 'rule_set_members_rule_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_price_kind_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_category_assignments', 'catalog_product_category_assignments_category_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_offer_id_foreign');\n this.dropConstraintIfTableExists('catalog_products', 'catalog_products_option_schema_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_tag_assignments', 'catalog_product_tag_assignments_tag_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variant_option_values', 'catalog_product_variant_option_values_variant_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_variant_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variant_relations', 'catalog_product_variant_relations_child_variant_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variant_relations', 'catalog_product_variant_relations_parent_variant_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_category_assignments', 'catalog_product_category_assignments_product_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_offers', 'catalog_product_offers_product_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_options', 'catalog_product_options_product_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_relations', 'catalog_product_relations_child_product_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_relations', 'catalog_product_relations_parent_product_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_tag_assignments', 'catalog_product_tag_assignments_product_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variant_prices', 'catalog_product_variant_prices_product_id_foreign');\n this.dropConstraintIfTableExists('catalog_product_variants', 'catalog_product_variants_product_id_foreign');\n this.dropConstraintIfTableExists('customer_activities', 'customer_activities_deal_id_foreign');\n this.dropConstraintIfTableExists('customer_comments', 'customer_comments_deal_id_foreign');\n this.dropConstraintIfTableExists('customer_deal_companies', 'customer_deal_companies_deal_id_foreign');\n this.dropConstraintIfTableExists('customer_deal_people', 'customer_deal_people_deal_id_foreign');\n this.dropConstraintIfTableExists('customer_activities', 'customer_activities_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_addresses', 'customer_addresses_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_comments', 'customer_comments_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_companies', 'customer_companies_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_deal_companies', 'customer_deal_companies_company_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_deal_people', 'customer_deal_people_person_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_people', 'customer_people_company_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_people', 'customer_people_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_tag_assignments', 'customer_tag_assignments_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_todo_links', 'customer_todo_links_entity_id_foreign');\n this.dropConstraintIfTableExists('customer_tag_assignments', 'customer_tag_assignments_tag_id_foreign');\n this.dropConstraintIfTableExists('dictionary_entries', 'dictionary_entries_dictionary_id_foreign');\n this.dropConstraintIfTableExists('role_acls', 'role_acls_role_id_foreign');\n this.dropConstraintIfTableExists('role_sidebar_preferences', 'role_sidebar_preferences_role_id_foreign');\n this.dropConstraintIfTableExists('user_roles', 'user_roles_role_id_foreign');\n this.dropConstraintIfTableExists('rule_set_members', 'rule_set_members_rule_set_id_foreign');\n this.dropConstraintIfTableExists('sales_orders', 'sales_orders_channel_ref_id_foreign');\n this.dropConstraintIfTableExists('sales_credit_memo_lines', 'sales_credit_memo_lines_credit_memo_id_foreign');\n this.dropConstraintIfTableExists('sales_orders', 'sales_orders_delivery_window_ref_id_foreign');\n this.dropConstraintIfTableExists('sales_credit_memos', 'sales_credit_memos_invoice_id_foreign');\n this.dropConstraintIfTableExists('sales_invoice_lines', 'sales_invoice_lines_invoice_id_foreign');\n this.dropConstraintIfTableExists('sales_payment_allocations', 'sales_payment_allocations_invoice_id_foreign');\n this.dropConstraintIfTableExists('sales_credit_memo_lines', 'sales_credit_memo_lines_order_line_id_foreign');\n this.dropConstraintIfTableExists('sales_invoice_lines', 'sales_invoice_lines_order_line_id_foreign');\n this.dropConstraintIfTableExists('sales_order_adjustments', 'sales_order_adjustments_order_line_id_foreign');\n this.dropConstraintIfTableExists('sales_shipment_items', 'sales_shipment_items_order_line_id_foreign');\n this.dropConstraintIfTableExists('sales_credit_memos', 'sales_credit_memos_order_id_foreign');\n this.dropConstraintIfTableExists('sales_invoices', 'sales_invoices_order_id_foreign');\n this.dropConstraintIfTableExists('sales_notes', 'sales_notes_order_id_foreign');\n this.dropConstraintIfTableExists('sales_order_adjustments', 'sales_order_adjustments_order_id_foreign');\n this.dropConstraintIfTableExists('sales_order_lines', 'sales_order_lines_order_id_foreign');\n this.dropConstraintIfTableExists('sales_payment_allocations', 'sales_payment_allocations_order_id_foreign');\n this.dropConstraintIfTableExists('sales_payments', 'sales_payments_order_id_foreign');\n this.dropConstraintIfTableExists('sales_shipments', 'sales_shipments_order_id_foreign');\n this.dropConstraintIfTableExists('sales_orders', 'sales_orders_payment_method_ref_id_foreign');\n this.dropConstraintIfTableExists('sales_payments', 'sales_payments_payment_method_id_foreign');\n this.dropConstraintIfTableExists('sales_payment_allocations', 'sales_payment_allocations_payment_id_foreign');\n this.dropConstraintIfTableExists('sales_quote_adjustments', 'sales_quote_adjustments_quote_line_id_foreign');\n this.dropConstraintIfTableExists('sales_notes', 'sales_notes_quote_id_foreign');\n this.dropConstraintIfTableExists('sales_quote_adjustments', 'sales_quote_adjustments_quote_id_foreign');\n this.dropConstraintIfTableExists('sales_quote_lines', 'sales_quote_lines_quote_id_foreign');\n this.dropConstraintIfTableExists('sales_shipment_items', 'sales_shipment_items_shipment_id_foreign');\n this.dropConstraintIfTableExists('sales_orders', 'sales_orders_shipping_method_ref_id_foreign');\n this.dropConstraintIfTableExists('organizations', 'organizations_tenant_id_foreign');\n this.dropConstraintIfTableExists('password_resets', 'password_resets_user_id_foreign');\n this.dropConstraintIfTableExists('sessions', 'sessions_user_id_foreign');\n this.dropConstraintIfTableExists('user_acls', 'user_acls_user_id_foreign');\n this.dropConstraintIfTableExists('user_roles', 'user_roles_user_id_foreign');\n this.dropConstraintIfTableExists('user_sidebar_preferences', 'user_sidebar_preferences_user_id_foreign');\n\n this.addSql(`create table \"step_instances\" (\"id\" uuid not null default gen_random_uuid(), \"workflow_instance_id\" uuid not null, \"step_id\" varchar(100) not null, \"step_name\" varchar(255) not null, \"step_type\" varchar(50) not null, \"status\" varchar(20) not null, \"input_data\" jsonb null, \"output_data\" jsonb null, \"error_data\" jsonb null, \"entered_at\" timestamptz null, \"exited_at\" timestamptz null, \"execution_time_ms\" int null, \"retry_count\" int not null default 0, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, constraint \"step_instances_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"step_instances_tenant_org_idx\" on \"step_instances\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"step_instances_step_id_idx\" on \"step_instances\" (\"step_id\", \"status\");`);\n this.addSql(`create index \"step_instances_workflow_instance_idx\" on \"step_instances\" (\"workflow_instance_id\", \"status\");`);\n\n this.addSql(`create table \"user_tasks\" (\"id\" uuid not null default gen_random_uuid(), \"workflow_instance_id\" uuid not null, \"step_instance_id\" uuid not null, \"task_name\" varchar(255) not null, \"description\" text null, \"status\" varchar(20) not null, \"form_schema\" jsonb null, \"form_data\" jsonb null, \"assigned_to\" varchar(255) null, \"assigned_to_roles\" text[] null, \"claimed_by\" varchar(255) null, \"claimed_at\" timestamptz null, \"due_date\" timestamptz null, \"escalated_at\" timestamptz null, \"escalated_to\" varchar(255) null, \"completed_by\" varchar(255) null, \"completed_at\" timestamptz null, \"comments\" text null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, constraint \"user_tasks_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"user_tasks_tenant_org_idx\" on \"user_tasks\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"user_tasks_status_due_date_idx\" on \"user_tasks\" (\"status\", \"due_date\");`);\n this.addSql(`create index \"user_tasks_status_assigned_idx\" on \"user_tasks\" (\"status\", \"assigned_to\");`);\n this.addSql(`create index \"user_tasks_workflow_instance_idx\" on \"user_tasks\" (\"workflow_instance_id\");`);\n\n this.addSql(`create table \"workflow_definitions\" (\"id\" uuid not null default gen_random_uuid(), \"workflow_id\" varchar(100) not null, \"workflow_name\" varchar(255) not null, \"description\" text null, \"version\" int not null default 1, \"definition\" jsonb not null, \"metadata\" jsonb null, \"enabled\" boolean not null default true, \"effective_from\" timestamptz null, \"effective_to\" timestamptz null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_by\" varchar(255) null, \"updated_by\" varchar(255) null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, \"deleted_at\" timestamptz null, constraint \"workflow_definitions_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"workflow_definitions_workflow_id_idx\" on \"workflow_definitions\" (\"workflow_id\");`);\n this.addSql(`create index \"workflow_definitions_tenant_org_idx\" on \"workflow_definitions\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"workflow_definitions_enabled_idx\" on \"workflow_definitions\" (\"enabled\");`);\n this.addSql(`alter table \"workflow_definitions\" add constraint \"workflow_definitions_workflow_id_tenant_id_unique\" unique (\"workflow_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"workflow_events\" (\"id\" bigserial primary key, \"workflow_instance_id\" uuid not null, \"step_instance_id\" uuid null, \"event_type\" varchar(50) not null, \"event_data\" jsonb not null, \"occurred_at\" timestamptz not null, \"user_id\" varchar(255) null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null);`);\n this.addSql(`create index \"workflow_events_tenant_org_idx\" on \"workflow_events\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"workflow_events_event_type_idx\" on \"workflow_events\" (\"event_type\", \"occurred_at\");`);\n this.addSql(`create index \"workflow_events_instance_occurred_idx\" on \"workflow_events\" (\"workflow_instance_id\", \"occurred_at\");`);\n\n this.addSql(`create table \"workflow_instances\" (\"id\" uuid not null default gen_random_uuid(), \"definition_id\" uuid not null, \"workflow_id\" varchar(100) not null, \"version\" int not null, \"status\" varchar(20) not null, \"current_step_id\" varchar(100) not null, \"context\" jsonb not null, \"correlation_key\" varchar(255) null, \"metadata\" jsonb null, \"started_at\" timestamptz not null, \"completed_at\" timestamptz null, \"paused_at\" timestamptz null, \"cancelled_at\" timestamptz null, \"error_message\" text null, \"error_details\" jsonb null, \"retry_count\" int not null default 0, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz not null, \"updated_at\" timestamptz not null, \"deleted_at\" timestamptz null, constraint \"workflow_instances_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"workflow_instances_tenant_org_idx\" on \"workflow_instances\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"workflow_instances_current_step_idx\" on \"workflow_instances\" (\"current_step_id\", \"status\");`);\n this.addSql(`create index \"workflow_instances_status_tenant_idx\" on \"workflow_instances\" (\"status\", \"tenant_id\");`);\n this.addSql(`create index \"workflow_instances_correlation_key_idx\" on \"workflow_instances\" (\"correlation_key\");`);\n this.addSql(`create index \"workflow_instances_definition_status_idx\" on \"workflow_instances\" (\"definition_id\", \"status\");`);\n }\n\n override async down(): Promise<void> {\n this.addSql(`create table \"access_logs\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid null, \"organization_id\" uuid null, \"actor_user_id\" uuid null, \"resource_kind\" text not null, \"resource_id\" text not null, \"access_type\" text not null, \"fields_json\" jsonb null, \"context_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"access_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"access_logs_actor_idx\" on \"access_logs\" (\"actor_user_id\", \"created_at\");`);\n this.addSql(`create index \"access_logs_tenant_idx\" on \"access_logs\" (\"tenant_id\", \"created_at\");`);\n\n this.addSql(`create table \"action_logs\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid null, \"organization_id\" uuid null, \"actor_user_id\" uuid null, \"command_id\" text not null, \"action_label\" text null, \"resource_kind\" text null, \"resource_id\" text null, \"execution_state\" text not null default 'done', \"undo_token\" text null, \"command_payload\" jsonb null, \"snapshot_before\" jsonb null, \"snapshot_after\" jsonb null, \"changes_json\" jsonb null, \"context_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"action_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"action_logs_actor_idx\" on \"action_logs\" (\"actor_user_id\", \"created_at\");`);\n this.addSql(`create index \"action_logs_tenant_idx\" on \"action_logs\" (\"tenant_id\", \"created_at\");`);\n\n this.addSql(`create table \"api_keys\" (\"id\" uuid not null default gen_random_uuid(), \"name\" text not null, \"description\" text null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"key_hash\" text not null, \"key_prefix\" text not null, \"roles_json\" jsonb null, \"created_by\" uuid null, \"last_used_at\" timestamptz(6) null, \"expires_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"api_keys_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"api_keys\" add constraint \"api_keys_key_prefix_unique\" unique (\"key_prefix\");`);\n\n this.addSql(`create table \"attachment_partitions\" (\"id\" uuid not null default gen_random_uuid(), \"code\" text not null, \"title\" text not null, \"description\" text null, \"storage_driver\" text not null default 'local', \"config_json\" jsonb null, \"is_public\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"attachment_partitions_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"attachment_partitions\" add constraint \"attachment_partitions_code_unique\" unique (\"code\");`);\n\n this.addSql(`create table \"attachments\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"record_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"file_name\" text not null, \"mime_type\" text not null, \"file_size\" int4 not null, \"url\" text not null, \"created_at\" timestamptz(6) not null, \"partition_code\" text not null, \"storage_driver\" text not null default 'local', \"storage_path\" text not null, \"storage_metadata\" jsonb null, constraint \"attachments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"attachments_entity_record_idx\" on \"attachments\" (\"record_id\");`);\n this.addSql(`create index \"attachments_partition_code_idx\" on \"attachments\" (\"partition_code\");`);\n\n this.addSql(`create table \"business_rules\" (\"id\" uuid not null default gen_random_uuid(), \"rule_id\" varchar(50) not null, \"rule_name\" varchar(200) not null, \"description\" text null, \"rule_type\" varchar(20) not null, \"rule_category\" varchar(50) null, \"entity_type\" varchar(50) not null, \"event_type\" varchar(50) null, \"condition_expression\" jsonb not null, \"success_actions\" jsonb null, \"failure_actions\" jsonb null, \"enabled\" bool not null default true, \"priority\" int4 not null default 100, \"version\" int4 not null default 1, \"effective_from\" timestamptz(6) null, \"effective_to\" timestamptz(6) null, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_by\" varchar(50) null, \"updated_by\" varchar(50) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"business_rules_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"business_rules_entity_event_idx\" on \"business_rules\" (\"entity_type\", \"event_type\", \"enabled\");`);\n this.addSql(`alter table \"business_rules\" add constraint \"business_rules_rule_id_tenant_id_unique\" unique (\"rule_id\", \"tenant_id\");`);\n this.addSql(`create index \"business_rules_tenant_org_idx\" on \"business_rules\" (\"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"business_rules_type_enabled_idx\" on \"business_rules\" (\"rule_type\", \"enabled\", \"priority\");`);\n\n this.addSql(`create table \"catalog_price_kinds\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"code\" text not null, \"title\" text not null, \"display_mode\" text not null default 'excluding-tax', \"currency_code\" text null, \"is_promotion\" bool not null default false, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"catalog_price_kinds_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_price_kinds\" add constraint \"catalog_price_kinds_code_scope_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"catalog_price_kinds_scope_idx\" on \"catalog_price_kinds\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_categories\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"slug\" text null, \"description\" text null, \"parent_id\" uuid null, \"root_id\" uuid null, \"tree_path\" text null, \"depth\" int4 not null default 0, \"ancestor_ids\" jsonb not null default '[]', \"child_ids\" jsonb not null default '[]', \"descendant_ids\" jsonb not null default '[]', \"metadata\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"catalog_product_categories_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_categories_scope_idx\" on \"catalog_product_categories\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_categories\" add constraint \"catalog_product_categories_slug_unique\" unique (\"organization_id\", \"tenant_id\", \"slug\");`);\n\n this.addSql(`create table \"catalog_product_category_assignments\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"category_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"position\" int4 not null default 0, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_category_assignments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_category_assignments_scope_idx\" on \"catalog_product_category_assignments\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_category_assignments\" add constraint \"catalog_product_category_assignments_unique\" unique (\"product_id\", \"category_id\");`);\n\n this.addSql(`create table \"catalog_product_offers\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"channel_id\" uuid not null, \"title\" text not null, \"description\" text null, \"localized_content\" jsonb null, \"metadata\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"default_media_id\" uuid null, \"default_media_url\" text null, constraint \"catalog_product_offers_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_offers\" add constraint \"catalog_product_offers_product_channel_unique\" unique (\"product_id\", \"organization_id\", \"tenant_id\", \"channel_id\");`);\n this.addSql(`create index \"catalog_product_offers_scope_idx\" on \"catalog_product_offers\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_option_schemas\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"schema\" jsonb not null, \"metadata\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"catalog_product_option_schemas_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_option_schemas\" add constraint \"catalog_product_option_schemas_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"catalog_product_option_schemas_scope_idx\" on \"catalog_product_option_schemas\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_option_values\" (\"id\" uuid not null default gen_random_uuid(), \"option_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"code\" text not null, \"label\" text not null, \"description\" text null, \"position\" int4 not null default 0, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_option_values_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_option_values\" add constraint \"catalog_product_option_values_code_unique\" unique (\"organization_id\", \"tenant_id\", \"option_id\", \"code\");`);\n this.addSql(`create index \"catalog_product_option_values_scope_idx\" on \"catalog_product_option_values\" (\"option_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_options\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"code\" text not null, \"label\" text not null, \"description\" text null, \"position\" int4 not null default 0, \"is_required\" bool not null default false, \"is_multiple\" bool not null default false, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"input_type\" text not null default 'select', \"input_config\" jsonb null, constraint \"catalog_product_options_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_options_scope_idx\" on \"catalog_product_options\" (\"product_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_relations\" (\"id\" uuid not null default gen_random_uuid(), \"parent_product_id\" uuid not null, \"child_product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"relation_type\" text not null default 'grouped', \"is_required\" bool not null default false, \"min_quantity\" int4 null, \"max_quantity\" int4 null, \"position\" int4 not null default 0, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_relations_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_relations_child_idx\" on \"catalog_product_relations\" (\"child_product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"catalog_product_relations_parent_idx\" on \"catalog_product_relations\" (\"parent_product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_relations\" add constraint \"catalog_product_relations_unique\" unique (\"parent_product_id\", \"child_product_id\", \"relation_type\");`);\n\n this.addSql(`create table \"catalog_product_tag_assignments\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"tag_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_tag_assignments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_tag_assignments_scope_idx\" on \"catalog_product_tag_assignments\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_tag_assignments\" add constraint \"catalog_product_tag_assignments_unique\" unique (\"product_id\", \"tag_id\");`);\n\n this.addSql(`create table \"catalog_product_tags\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"label\" text not null, \"slug\" text not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_tags_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_tags_scope_idx\" on \"catalog_product_tags\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_tags\" add constraint \"catalog_product_tags_slug_unique\" unique (\"organization_id\", \"tenant_id\", \"slug\");`);\n\n this.addSql(`create table \"catalog_product_variant_option_values\" (\"id\" uuid not null default gen_random_uuid(), \"variant_id\" uuid not null, \"option_value_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_variant_option_values_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_product_variant_option_values\" add constraint \"catalog_product_variant_option_values_unique\" unique (\"variant_id\", \"option_value_id\");`);\n\n this.addSql(`create table \"catalog_product_variant_prices\" (\"id\" uuid not null default gen_random_uuid(), \"variant_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"currency_code\" text not null, \"kind\" text not null default 'regular', \"min_quantity\" int4 not null default 1, \"max_quantity\" int4 null, \"unit_price_net\" numeric(16,4) null, \"unit_price_gross\" numeric(16,4) null, \"tax_rate\" numeric(7,4) null, \"metadata\" jsonb null, \"starts_at\" timestamptz(6) null, \"ends_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"product_id\" uuid null, \"offer_id\" uuid null, \"channel_id\" uuid null, \"user_id\" uuid null, \"user_group_id\" uuid null, \"customer_id\" uuid null, \"customer_group_id\" uuid null, \"price_kind_id\" uuid not null, \"tax_amount\" numeric(16,4) null, constraint \"catalog_product_variant_prices_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_variant_prices_product_scope_idx\" on \"catalog_product_variant_prices\" (\"product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_variant_prices\" add constraint \"catalog_product_variant_prices_unique\" unique (\"variant_id\", \"organization_id\", \"tenant_id\", \"currency_code\", \"price_kind_id\", \"min_quantity\");`);\n this.addSql(`create index \"catalog_product_variant_prices_variant_scope_idx\" on \"catalog_product_variant_prices\" (\"variant_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"catalog_product_variant_relations\" (\"id\" uuid not null default gen_random_uuid(), \"parent_variant_id\" uuid not null, \"child_variant_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"relation_type\" text not null default 'grouped', \"is_required\" bool not null default false, \"min_quantity\" int4 null, \"max_quantity\" int4 null, \"position\" int4 not null default 0, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"catalog_product_variant_relations_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_variant_relations_child_idx\" on \"catalog_product_variant_relations\" (\"child_variant_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"catalog_product_variant_relations_parent_idx\" on \"catalog_product_variant_relations\" (\"parent_variant_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_variant_relations\" add constraint \"catalog_product_variant_relations_unique\" unique (\"parent_variant_id\", \"child_variant_id\", \"relation_type\");`);\n\n this.addSql(`create table \"catalog_product_variants\" (\"id\" uuid not null default gen_random_uuid(), \"product_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text null, \"sku\" text null, \"barcode\" text null, \"status_entry_id\" text null, \"is_default\" bool not null default false, \"is_active\" bool not null default true, \"weight_value\" numeric(16,4) null, \"weight_unit\" text null, \"dimensions\" jsonb null, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"custom_fieldset_code\" text null, \"default_media_id\" uuid null, \"default_media_url\" text null, \"option_values\" jsonb null, constraint \"catalog_product_variants_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"catalog_product_variants_scope_idx\" on \"catalog_product_variants\" (\"product_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_product_variants\" add constraint \"catalog_product_variants_sku_unique\" unique (\"organization_id\", \"tenant_id\", \"sku\");`);\n\n this.addSql(`create table \"catalog_products\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"title\" text not null, \"description\" text null, \"subtitle\" text null, \"status_entry_id\" uuid null, \"primary_currency_code\" text null, \"default_unit\" text null, \"metadata\" jsonb null, \"is_configurable\" bool not null default false, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"product_type\" text not null default 'simple', \"sku\" text null, \"handle\" text null, \"option_schema_id\" uuid null, \"custom_fieldset_code\" text null, \"default_media_id\" uuid null, \"default_media_url\" text null, \"weight_value\" numeric(16,4) null, \"weight_unit\" text null, \"dimensions\" jsonb null, constraint \"catalog_products_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"catalog_products\" add constraint \"catalog_products_handle_scope_unique\" unique (\"organization_id\", \"tenant_id\", \"handle\");`);\n this.addSql(`create index \"catalog_products_org_tenant_idx\" on \"catalog_products\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"catalog_products\" add constraint \"catalog_products_sku_scope_unique\" unique (\"organization_id\", \"tenant_id\", \"sku\");`);\n\n this.addSql(`create table \"custom_entities\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"label\" text not null, \"description\" text null, \"label_field\" text null, \"default_editor\" text null, \"show_in_sidebar\" bool not null default false, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_entities_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"custom_entities_unique_idx\" on \"custom_entities\" (\"entity_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"custom_entities_storage\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"doc\" jsonb not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_entities_storage_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"custom_entities_storage_unique_idx\" on \"custom_entities_storage\" (\"entity_type\", \"entity_id\", \"organization_id\");`);\n\n this.addSql(`create table \"custom_field_defs\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"key\" text not null, \"kind\" text not null, \"config_json\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_field_defs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"cf_defs_active_entity_global_idx\" on \"custom_field_defs\" (\"entity_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_key_scope_idx\" on \"custom_field_defs\" (\"entity_id\", \"key\", \"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_org_idx\" on \"custom_field_defs\" (\"entity_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_tenant_idx\" on \"custom_field_defs\" (\"entity_id\", \"tenant_id\");`);\n this.addSql(`create index \"cf_defs_active_entity_tenant_org_idx\" on \"custom_field_defs\" (\"entity_id\", \"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_defs_entity_key_idx\" on \"custom_field_defs\" (\"key\");`);\n\n this.addSql(`create table \"custom_field_entity_configs\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"config_json\" jsonb null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_field_entity_configs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"cf_entity_cfgs_entity_org_idx\" on \"custom_field_entity_configs\" (\"entity_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_entity_cfgs_entity_scope_idx\" on \"custom_field_entity_configs\" (\"entity_id\", \"tenant_id\", \"organization_id\");`);\n this.addSql(`create index \"cf_entity_cfgs_entity_tenant_idx\" on \"custom_field_entity_configs\" (\"entity_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"custom_field_values\" (\"id\" uuid not null default gen_random_uuid(), \"entity_id\" text not null, \"record_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"field_key\" text not null, \"value_text\" text null, \"value_multiline\" text null, \"value_int\" int4 null, \"value_float\" float4 null, \"value_bool\" bool null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"custom_field_values_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"cf_values_entity_record_field_idx\" on \"custom_field_values\" (\"field_key\");`);\n this.addSql(`create index \"cf_values_entity_record_tenant_idx\" on \"custom_field_values\" (\"entity_id\", \"record_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_activities\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"activity_type\" text not null, \"subject\" text null, \"body\" text null, \"occurred_at\" timestamptz(6) null, \"author_user_id\" uuid null, \"appearance_icon\" text null, \"appearance_color\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, \"deal_id\" uuid null, constraint \"customer_activities_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_activities_entity_idx\" on \"customer_activities\" (\"entity_id\");`);\n this.addSql(`create index \"customer_activities_entity_occurred_created_idx\" on \"customer_activities\" (\"entity_id\", \"occurred_at\", \"created_at\");`);\n this.addSql(`create index \"customer_activities_org_tenant_idx\" on \"customer_activities\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_addresses\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text null, \"purpose\" text null, \"address_line1\" text not null, \"address_line2\" text null, \"city\" text null, \"region\" text null, \"postal_code\" text null, \"country\" text null, \"building_number\" text null, \"flat_number\" text null, \"latitude\" float4 null, \"longitude\" float4 null, \"is_primary\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, constraint \"customer_addresses_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_addresses_entity_idx\" on \"customer_addresses\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_comments\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"body\" text not null, \"author_user_id\" uuid null, \"appearance_icon\" text null, \"appearance_color\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"entity_id\" uuid not null, \"deal_id\" uuid null, constraint \"customer_comments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_comments_entity_created_idx\" on \"customer_comments\" (\"entity_id\", \"created_at\");`);\n this.addSql(`create index \"customer_comments_entity_idx\" on \"customer_comments\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_companies\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"legal_name\" text null, \"brand_name\" text null, \"domain\" text null, \"website_url\" text null, \"industry\" text null, \"size_bucket\" text null, \"annual_revenue\" numeric(16,2) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, constraint \"customer_companies_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_companies\" add constraint \"customer_companies_entity_id_unique\" unique (\"entity_id\");`);\n this.addSql(`create index \"customer_companies_org_tenant_idx\" on \"customer_companies\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"idx_customer_companies_entity_id\" on \"customer_companies\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_deal_companies\" (\"id\" uuid not null default gen_random_uuid(), \"created_at\" timestamptz(6) not null, \"deal_id\" uuid not null, \"company_entity_id\" uuid not null, constraint \"customer_deal_companies_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_deal_companies_company_idx\" on \"customer_deal_companies\" (\"company_entity_id\");`);\n this.addSql(`create index \"customer_deal_companies_deal_idx\" on \"customer_deal_companies\" (\"deal_id\");`);\n this.addSql(`alter table \"customer_deal_companies\" add constraint \"customer_deal_companies_unique\" unique (\"deal_id\", \"company_entity_id\");`);\n\n this.addSql(`create table \"customer_deal_people\" (\"id\" uuid not null default gen_random_uuid(), \"role\" text null, \"created_at\" timestamptz(6) not null, \"deal_id\" uuid not null, \"person_entity_id\" uuid not null, constraint \"customer_deal_people_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_deal_people_deal_idx\" on \"customer_deal_people\" (\"deal_id\");`);\n this.addSql(`create index \"customer_deal_people_person_idx\" on \"customer_deal_people\" (\"person_entity_id\");`);\n this.addSql(`alter table \"customer_deal_people\" add constraint \"customer_deal_people_unique\" unique (\"deal_id\", \"person_entity_id\");`);\n\n this.addSql(`create table \"customer_deals\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"title\" text not null, \"description\" text null, \"status\" text not null default 'open', \"pipeline_stage\" text null, \"value_amount\" numeric(14,2) null, \"value_currency\" text null, \"probability\" int4 null, \"expected_close_at\" timestamptz(6) null, \"owner_user_id\" uuid null, \"source\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"customer_deals_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_deals_org_tenant_idx\" on \"customer_deals\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_dictionary_entries\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"kind\" text not null, \"value\" text not null, \"normalized_value\" text not null, \"label\" text not null, \"color\" text null, \"icon\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"customer_dictionary_entries_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_dictionary_entries_scope_idx\" on \"customer_dictionary_entries\" (\"organization_id\", \"tenant_id\", \"kind\");`);\n this.addSql(`alter table \"customer_dictionary_entries\" add constraint \"customer_dictionary_entries_unique\" unique (\"organization_id\", \"tenant_id\", \"kind\", \"normalized_value\");`);\n\n this.addSql(`create table \"customer_entities\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"kind\" text not null, \"display_name\" text not null, \"description\" text null, \"owner_user_id\" uuid null, \"primary_email\" text null, \"primary_phone\" text null, \"status\" text null, \"lifecycle_stage\" text null, \"source\" text null, \"next_interaction_at\" timestamptz(6) null, \"next_interaction_name\" text null, \"next_interaction_ref_id\" text null, \"next_interaction_icon\" text null, \"next_interaction_color\" text null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"customer_entities_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_entities_org_tenant_kind_idx\" on \"customer_entities\" (\"organization_id\", \"tenant_id\", \"kind\");`);\n this.addSql(`create index \"idx_ce_tenant_company_id\" on \"customer_entities\" (\"tenant_id\", \"id\");`);\n this.addSql(`create index \"idx_ce_tenant_org_company_id\" on \"customer_entities\" (\"tenant_id\", \"organization_id\", \"id\");`);\n this.addSql(`create index \"idx_ce_tenant_org_person_id\" on \"customer_entities\" (\"tenant_id\", \"organization_id\", \"id\");`);\n this.addSql(`create index \"idx_ce_tenant_person_id\" on \"customer_entities\" (\"tenant_id\", \"id\");`);\n\n this.addSql(`create table \"customer_people\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"first_name\" text null, \"last_name\" text null, \"preferred_name\" text null, \"job_title\" text null, \"department\" text null, \"seniority\" text null, \"timezone\" text null, \"linked_in_url\" text null, \"twitter_url\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"entity_id\" uuid not null, \"company_entity_id\" uuid null, constraint \"customer_people_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_people\" add constraint \"customer_people_entity_id_unique\" unique (\"entity_id\");`);\n this.addSql(`create index \"customer_people_org_tenant_idx\" on \"customer_people\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"idx_customer_people_entity_id\" on \"customer_people\" (\"entity_id\");`);\n\n this.addSql(`create table \"customer_settings\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"address_format\" text not null default 'line_first', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"customer_settings_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_settings\" add constraint \"customer_settings_scope_unique\" unique (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_tag_assignments\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"created_at\" timestamptz(6) not null, \"tag_id\" uuid not null, \"entity_id\" uuid not null, constraint \"customer_tag_assignments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_tag_assignments_entity_idx\" on \"customer_tag_assignments\" (\"entity_id\");`);\n this.addSql(`alter table \"customer_tag_assignments\" add constraint \"customer_tag_assignments_unique\" unique (\"tag_id\", \"entity_id\");`);\n\n this.addSql(`create table \"customer_tags\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"slug\" text not null, \"label\" text not null, \"color\" text null, \"description\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"customer_tags_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"customer_tags\" add constraint \"customer_tags_org_slug_unique\" unique (\"organization_id\", \"tenant_id\", \"slug\");`);\n this.addSql(`create index \"customer_tags_org_tenant_idx\" on \"customer_tags\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"customer_todo_links\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"todo_id\" uuid not null, \"todo_source\" text not null default 'example:todo', \"created_at\" timestamptz(6) not null, \"created_by_user_id\" uuid null, \"entity_id\" uuid not null, constraint \"customer_todo_links_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"customer_todo_links_entity_created_idx\" on \"customer_todo_links\" (\"entity_id\", \"created_at\");`);\n this.addSql(`create index \"customer_todo_links_entity_idx\" on \"customer_todo_links\" (\"entity_id\");`);\n this.addSql(`alter table \"customer_todo_links\" add constraint \"customer_todo_links_unique\" unique (\"entity_id\", \"todo_id\", \"todo_source\");`);\n\n this.addSql(`create table \"dashboard_layouts\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"layout_json\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"dashboard_layouts_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dashboard_layouts\" add constraint \"dashboard_layouts_user_id_tenant_id_organization_id_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"dashboard_role_widgets\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"widget_ids_json\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"dashboard_role_widgets_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dashboard_role_widgets\" add constraint \"dashboard_role_widgets_role_id_tenant_id_organization_id_unique\" unique (\"role_id\", \"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"dashboard_user_widgets\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"mode\" text not null default 'inherit', \"widget_ids_json\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"dashboard_user_widgets_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dashboard_user_widgets\" add constraint \"dashboard_user_widgets_user_id_tenant_id_organization_id_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"dictionaries\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"key\" text not null, \"name\" text not null, \"description\" text null, \"is_system\" bool not null default false, \"is_active\" bool not null default true, \"manager_visibility\" text not null default 'default', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"dictionaries_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"dictionaries\" add constraint \"dictionaries_scope_key_unique\" unique (\"organization_id\", \"tenant_id\", \"key\");`);\n\n this.addSql(`create table \"dictionary_entries\" (\"id\" uuid not null default gen_random_uuid(), \"dictionary_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"value\" text not null, \"normalized_value\" text not null, \"label\" text not null, \"color\" text null, \"icon\" text null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"dictionary_entries_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"dictionary_entries_scope_idx\" on \"dictionary_entries\" (\"dictionary_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`alter table \"dictionary_entries\" add constraint \"dictionary_entries_unique\" unique (\"dictionary_id\", \"organization_id\", \"tenant_id\", \"normalized_value\");`);\n\n this.addSql(`create table \"entity_index_coverage\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"with_deleted\" bool not null default false, \"base_count\" int4 not null default 0, \"indexed_count\" int4 not null default 0, \"vector_indexed_count\" int4 not null default 0, \"refreshed_at\" timestamptz(6) not null, constraint \"entity_index_coverage_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"entity_index_coverage\" add constraint \"entity_index_coverage_scope_idx\" unique (\"entity_type\", \"tenant_id\", \"organization_id\", \"with_deleted\");`);\n\n this.addSql(`create table \"entity_index_jobs\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"partition_index\" int4 null, \"partition_count\" int4 null, \"processed_count\" int4 null, \"total_count\" int4 null, \"heartbeat_at\" timestamptz(6) null, \"status\" text not null, \"started_at\" timestamptz(6) not null, \"finished_at\" timestamptz(6) null, constraint \"entity_index_jobs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"entity_index_jobs_org_idx\" on \"entity_index_jobs\" (\"organization_id\");`);\n this.addSql(`create index \"entity_index_jobs_type_idx\" on \"entity_index_jobs\" (\"entity_type\");`);\n\n this.addSql(`create table \"entity_indexes\" (\"id\" uuid not null default gen_random_uuid(), \"entity_type\" text not null, \"entity_id\" text not null, \"organization_id\" uuid null, \"tenant_id\" uuid null, \"doc\" jsonb not null, \"embedding\" jsonb null, \"index_version\" int4 not null default 1, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"entity_indexes_pkey\" primary key (\"id\"));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_company_profile_doc_idx ON public.entity_indexes USING btree (entity_id, organization_id, tenant_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_company_profile'::text) AND (organization_id IS NOT NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_company_profile_tenant_doc_idx ON public.entity_indexes USING btree (tenant_id, entity_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_company_profile'::text) AND (organization_id IS NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_entity_doc_idx ON public.entity_indexes USING btree (entity_id, organization_id, tenant_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_entity'::text) AND (organization_id IS NOT NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_entity_tenant_doc_idx ON public.entity_indexes USING btree (tenant_id, entity_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_entity'::text) AND (organization_id IS NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_person_profile_doc_idx ON public.entity_indexes USING btree (entity_id, organization_id, tenant_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_person_profile'::text) AND (organization_id IS NOT NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`CREATE INDEX entity_indexes_customer_person_profile_tenant_doc_idx ON public.entity_indexes USING btree (tenant_id, entity_id) INCLUDE (doc) WHERE ((deleted_at IS NULL) AND (entity_type = 'customers:customer_person_profile'::text) AND (organization_id IS NULL) AND (tenant_id IS NOT NULL));`);\n this.addSql(`create index \"entity_indexes_entity_idx\" on \"entity_indexes\" (\"entity_id\");`);\n this.addSql(`create index \"entity_indexes_org_idx\" on \"entity_indexes\" (\"organization_id\");`);\n this.addSql(`create index \"entity_indexes_type_idx\" on \"entity_indexes\" (\"entity_type\");`);\n this.addSql(`create index \"entity_indexes_type_tenant_idx\" on \"entity_indexes\" (\"entity_type\", \"tenant_id\");`);\n\n this.addSql(`create table \"example_items\" (\"id\" uuid not null default gen_random_uuid(), \"title\" text not null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"example_items_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"indexer_error_logs\" (\"id\" uuid not null default gen_random_uuid(), \"source\" text not null, \"handler\" text not null, \"entity_type\" text null, \"record_id\" text null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"payload\" jsonb null, \"message\" text not null, \"stack\" text null, \"occurred_at\" timestamptz(6) not null, constraint \"indexer_error_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"indexer_error_logs_occurred_idx\" on \"indexer_error_logs\" (\"occurred_at\");`);\n this.addSql(`create index \"indexer_error_logs_source_idx\" on \"indexer_error_logs\" (\"source\");`);\n\n this.addSql(`create table \"indexer_status_logs\" (\"id\" uuid not null default gen_random_uuid(), \"source\" text not null, \"handler\" text not null, \"level\" text not null default 'info', \"entity_type\" text null, \"record_id\" text null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"message\" text not null, \"details\" jsonb null, \"occurred_at\" timestamptz(6) not null default now(), constraint \"indexer_status_logs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"indexer_status_logs_occurred_idx\" on \"indexer_status_logs\" (\"occurred_at\");`);\n this.addSql(`create index \"indexer_status_logs_source_idx\" on \"indexer_status_logs\" (\"source\");`);\n\n this.addSql(`create table \"mikro_orm_migrations_api_keys\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_attachments\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_audit_logs\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_auth\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_business_rules\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_catalog\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_configs\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_customers\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_dashboards\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_dictionaries\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_directory\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_entities\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_example\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_onboarding\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_perspectives\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_query_index\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"mikro_orm_migrations_sales\" (\"id\" serial primary key, \"name\" varchar(255) null, \"executed_at\" timestamptz(6) null default CURRENT_TIMESTAMP);`);\n\n this.addSql(`create table \"module_configs\" (\"id\" uuid not null default gen_random_uuid(), \"module_id\" text not null, \"name\" text not null, \"value_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"module_configs_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"module_configs_module_idx\" on \"module_configs\" (\"module_id\");`);\n this.addSql(`alter table \"module_configs\" add constraint \"module_configs_module_name_unique\" unique (\"module_id\", \"name\");`);\n\n this.addSql(`create table \"onboarding_requests\" (\"id\" uuid not null default gen_random_uuid(), \"email\" text not null, \"token_hash\" text not null, \"status\" text not null default 'pending', \"first_name\" text not null, \"last_name\" text not null, \"organization_name\" text not null, \"locale\" text null, \"terms_accepted\" bool not null default false, \"expires_at\" timestamptz(6) not null, \"completed_at\" timestamptz(6) null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"user_id\" uuid null, \"last_email_sent_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, \"password_hash\" text null, constraint \"onboarding_requests_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"onboarding_requests\" add constraint \"onboarding_requests_email_unique\" unique (\"email\");`);\n this.addSql(`alter table \"onboarding_requests\" add constraint \"onboarding_requests_token_hash_unique\" unique (\"token_hash\");`);\n\n this.addSql(`create table \"organizations\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid not null, \"name\" text not null, \"is_active\" bool not null default true, \"parent_id\" uuid null, \"root_id\" uuid null, \"tree_path\" text null, \"depth\" int4 not null default 0, \"ancestor_ids\" jsonb not null default '[]', \"child_ids\" jsonb not null default '[]', \"descendant_ids\" jsonb not null default '[]', \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"organizations_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"password_resets\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"token\" text not null, \"expires_at\" timestamptz(6) not null, \"used_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"password_resets_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"password_resets\" add constraint \"password_resets_token_unique\" unique (\"token\");`);\n\n this.addSql(`create table \"perspectives\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"table_id\" text not null, \"name\" text not null, \"settings_json\" jsonb not null, \"is_default\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"perspectives_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"perspectives\" add constraint \"perspectives_user_id_tenant_id_organization_id_ta_2d725_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\", \"table_id\", \"name\");`);\n this.addSql(`create index \"perspectives_user_scope_idx\" on \"perspectives\" (\"user_id\", \"tenant_id\", \"organization_id\", \"table_id\");`);\n\n this.addSql(`create table \"role_acls\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid not null, \"features_json\" jsonb null, \"is_super_admin\" bool not null default false, \"organizations_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"role_acls_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"role_perspectives\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"table_id\" text not null, \"name\" text not null, \"settings_json\" jsonb not null, \"is_default\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"role_perspectives_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"role_perspectives\" add constraint \"role_perspectives_role_id_tenant_id_organization__c5467_unique\" unique (\"role_id\", \"tenant_id\", \"organization_id\", \"table_id\", \"name\");`);\n this.addSql(`create index \"role_perspectives_role_scope_idx\" on \"role_perspectives\" (\"role_id\", \"tenant_id\", \"organization_id\", \"table_id\");`);\n\n this.addSql(`create table \"role_sidebar_preferences\" (\"id\" uuid not null default gen_random_uuid(), \"role_id\" uuid not null, \"tenant_id\" uuid null, \"locale\" text not null, \"settings_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"role_sidebar_preferences_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"role_sidebar_preferences\" add constraint \"role_sidebar_preferences_role_id_tenant_id_locale_unique\" unique (\"role_id\", \"tenant_id\", \"locale\");`);\n\n this.addSql(`create table \"roles\" (\"id\" uuid not null default gen_random_uuid(), \"name\" text not null, \"tenant_id\" uuid null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"roles_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"roles\" add constraint \"roles_tenant_id_name_unique\" unique (\"tenant_id\", \"name\");`);\n\n this.addSql(`create table \"rule_execution_logs\" (\"id\" bigserial primary key, \"rule_id\" uuid not null, \"entity_id\" uuid not null, \"entity_type\" varchar(50) not null, \"execution_result\" varchar(20) not null, \"input_context\" jsonb null, \"output_context\" jsonb null, \"error_message\" text null, \"execution_time_ms\" int4 not null, \"executed_at\" timestamptz(6) not null, \"tenant_id\" uuid not null, \"organization_id\" uuid null, \"executed_by\" varchar(50) null);`);\n this.addSql(`create index \"rule_execution_logs_entity_idx\" on \"rule_execution_logs\" (\"entity_type\", \"entity_id\");`);\n this.addSql(`create index \"rule_execution_logs_result_idx\" on \"rule_execution_logs\" (\"execution_result\", \"executed_at\");`);\n this.addSql(`create index \"rule_execution_logs_rule_idx\" on \"rule_execution_logs\" (\"rule_id\");`);\n this.addSql(`create index \"rule_execution_logs_tenant_org_idx\" on \"rule_execution_logs\" (\"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"rule_set_members\" (\"id\" uuid not null default gen_random_uuid(), \"rule_set_id\" uuid not null, \"rule_id\" uuid not null, \"sequence\" int4 not null default 0, \"enabled\" bool not null default true, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_at\" timestamptz(6) not null, constraint \"rule_set_members_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"rule_set_members_rule_idx\" on \"rule_set_members\" (\"rule_id\");`);\n this.addSql(`alter table \"rule_set_members\" add constraint \"rule_set_members_rule_set_id_rule_id_unique\" unique (\"rule_set_id\", \"rule_id\");`);\n this.addSql(`create index \"rule_set_members_set_idx\" on \"rule_set_members\" (\"rule_set_id\", \"sequence\");`);\n this.addSql(`create index \"rule_set_members_tenant_org_idx\" on \"rule_set_members\" (\"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"rule_sets\" (\"id\" uuid not null default gen_random_uuid(), \"set_id\" varchar(50) not null, \"set_name\" varchar(200) not null, \"description\" text null, \"enabled\" bool not null default true, \"tenant_id\" uuid not null, \"organization_id\" uuid not null, \"created_by\" varchar(50) null, \"updated_by\" varchar(50) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"rule_sets_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"rule_sets_enabled_idx\" on \"rule_sets\" (\"enabled\");`);\n this.addSql(`alter table \"rule_sets\" add constraint \"rule_sets_set_id_tenant_id_unique\" unique (\"set_id\", \"tenant_id\");`);\n this.addSql(`create index \"rule_sets_tenant_org_idx\" on \"rule_sets\" (\"tenant_id\", \"organization_id\");`);\n\n this.addSql(`create table \"sales_channels\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text null, \"description\" text null, \"status_entry_id\" uuid null, \"status\" text null, \"website_url\" text null, \"contact_email\" text null, \"contact_phone\" text null, \"address_line1\" text null, \"address_line2\" text null, \"city\" text null, \"region\" text null, \"postal_code\" text null, \"country\" text null, \"latitude\" numeric(10,6) null, \"longitude\" numeric(10,6) null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_channels_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_channels\" add constraint \"sales_channels_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_channels_org_tenant_idx\" on \"sales_channels\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_channels_status_idx\" on \"sales_channels\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_credit_memo_lines\" (\"id\" uuid not null default gen_random_uuid(), \"credit_memo_id\" uuid not null, \"order_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"description\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, constraint \"sales_credit_memo_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_credit_memo_lines_scope_idx\" on \"sales_credit_memo_lines\" (\"credit_memo_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_credit_memos\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid null, \"invoice_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"credit_memo_number\" text not null, \"status_entry_id\" uuid null, \"status\" text null, \"issue_date\" timestamptz(6) null, \"currency_code\" text not null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_credit_memos_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_credit_memos\" add constraint \"sales_credit_memos_number_unique\" unique (\"organization_id\", \"tenant_id\", \"credit_memo_number\");`);\n this.addSql(`create index \"sales_credit_memos_scope_idx\" on \"sales_credit_memos\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_credit_memos_status_idx\" on \"sales_credit_memos\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_delivery_windows\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"lead_time_days\" int4 null, \"cutoff_time\" text null, \"timezone\" text null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_delivery_windows_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_delivery_windows\" add constraint \"sales_delivery_windows_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_delivery_windows_scope_idx\" on \"sales_delivery_windows\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_invoice_lines\" (\"id\" uuid not null default gen_random_uuid(), \"invoice_id\" uuid not null, \"order_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"kind\" text not null default 'product', \"description\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"discount_amount\" numeric(18,4) not null default '0', \"discount_percent\" numeric(7,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, constraint \"sales_invoice_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_invoice_lines_scope_idx\" on \"sales_invoice_lines\" (\"invoice_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_invoices\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"invoice_number\" text not null, \"status_entry_id\" uuid null, \"status\" text null, \"issue_date\" timestamptz(6) null, \"due_date\" timestamptz(6) null, \"currency_code\" text not null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"discount_total_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"paid_total_amount\" numeric(18,4) not null default '0', \"outstanding_amount\" numeric(18,4) not null default '0', \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_invoices_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_invoices\" add constraint \"sales_invoices_number_unique\" unique (\"organization_id\", \"tenant_id\", \"invoice_number\");`);\n this.addSql(`create index \"sales_invoices_scope_idx\" on \"sales_invoices\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_invoices_status_idx\" on \"sales_invoices\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_notes\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"context_type\" text not null, \"context_id\" uuid not null, \"order_id\" uuid null, \"quote_id\" uuid null, \"author_user_id\" uuid null, \"body\" text not null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"sales_notes_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_notes_scope_idx\" on \"sales_notes\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_order_adjustments\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid not null, \"order_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"scope\" text not null default 'order', \"kind\" text not null default 'custom', \"code\" text null, \"label\" text null, \"calculator_key\" text null, \"promotion_id\" uuid null, \"rate\" numeric(7,4) not null default '0', \"amount_net\" numeric(18,4) not null default '0', \"amount_gross\" numeric(18,4) not null default '0', \"currency_code\" text null, \"metadata\" jsonb null, \"position\" int4 not null default 0, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"sales_order_adjustments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_order_adjustments_scope_idx\" on \"sales_order_adjustments\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_order_lines\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"kind\" text not null default 'product', \"status_entry_id\" uuid null, \"status\" text null, \"product_id\" uuid null, \"product_variant_id\" uuid null, \"catalog_snapshot\" jsonb null, \"name\" text null, \"description\" text null, \"comment\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"reserved_quantity\" numeric(18,4) not null default '0', \"fulfilled_quantity\" numeric(18,4) not null default '0', \"invoiced_quantity\" numeric(18,4) not null default '0', \"returned_quantity\" numeric(18,4) not null default '0', \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"discount_amount\" numeric(18,4) not null default '0', \"discount_percent\" numeric(7,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"configuration\" jsonb null, \"promotion_code\" text null, \"promotion_snapshot\" jsonb null, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_order_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_order_lines_scope_idx\" on \"sales_order_lines\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_order_lines_status_idx\" on \"sales_order_lines\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_orders\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"order_number\" text not null, \"external_reference\" text null, \"customer_reference\" text null, \"customer_entity_id\" uuid null, \"customer_contact_id\" uuid null, \"billing_address_id\" uuid null, \"shipping_address_id\" uuid null, \"currency_code\" text not null, \"exchange_rate\" numeric(18,8) null, \"status_entry_id\" uuid null, \"status\" text null, \"fulfillment_status_entry_id\" uuid null, \"fulfillment_status\" text null, \"payment_status_entry_id\" uuid null, \"payment_status\" text null, \"tax_strategy_key\" text null, \"discount_strategy_key\" text null, \"shipping_method_snapshot\" jsonb null, \"payment_method_snapshot\" jsonb null, \"placed_at\" timestamptz(6) null, \"expected_delivery_at\" timestamptz(6) null, \"due_at\" timestamptz(6) null, \"comments\" text null, \"internal_notes\" text null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"discount_total_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"shipping_net_amount\" numeric(18,4) not null default '0', \"shipping_gross_amount\" numeric(18,4) not null default '0', \"surcharge_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"paid_total_amount\" numeric(18,4) not null default '0', \"refunded_total_amount\" numeric(18,4) not null default '0', \"outstanding_amount\" numeric(18,4) not null default '0', \"line_item_count\" int4 not null default 0, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"channel_id\" uuid null, \"channel_ref_id\" uuid null, \"shipping_method_id\" uuid null, \"shipping_method_ref_id\" uuid null, \"delivery_window_id\" uuid null, \"delivery_window_ref_id\" uuid null, \"payment_method_id\" uuid null, \"payment_method_ref_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_orders_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_orders_customer_idx\" on \"sales_orders\" (\"customer_entity_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_orders_fulfillment_status_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\", \"fulfillment_status\");`);\n this.addSql(`alter table \"sales_orders\" add constraint \"sales_orders_number_unique\" unique (\"organization_id\", \"tenant_id\", \"order_number\");`);\n this.addSql(`create index \"sales_orders_org_tenant_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_orders_payment_status_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\", \"payment_status\");`);\n this.addSql(`create index \"sales_orders_status_idx\" on \"sales_orders\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_payment_allocations\" (\"id\" uuid not null default gen_random_uuid(), \"payment_id\" uuid not null, \"order_id\" uuid null, \"invoice_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"amount\" numeric(18,4) not null default '0', \"currency_code\" text not null, \"metadata\" jsonb null, constraint \"sales_payment_allocations_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_payment_allocations_scope_idx\" on \"sales_payment_allocations\" (\"payment_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_payment_methods\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"provider_key\" text null, \"terms\" text null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_payment_methods_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_payment_methods\" add constraint \"sales_payment_methods_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_payment_methods_scope_idx\" on \"sales_payment_methods\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_payments\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid null, \"payment_method_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"payment_reference\" text null, \"status_entry_id\" uuid null, \"status\" text null, \"amount\" numeric(18,4) not null default '0', \"currency_code\" text not null, \"captured_amount\" numeric(18,4) not null default '0', \"refunded_amount\" numeric(18,4) not null default '0', \"received_at\" timestamptz(6) null, \"captured_at\" timestamptz(6) null, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_payments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_payments_scope_idx\" on \"sales_payments\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_payments_status_idx\" on \"sales_payments\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_quote_adjustments\" (\"id\" uuid not null default gen_random_uuid(), \"quote_id\" uuid not null, \"quote_line_id\" uuid null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"scope\" text not null default 'order', \"kind\" text not null default 'custom', \"code\" text null, \"label\" text null, \"calculator_key\" text null, \"promotion_id\" uuid null, \"rate\" numeric(7,4) not null default '0', \"amount_net\" numeric(18,4) not null default '0', \"amount_gross\" numeric(18,4) not null default '0', \"currency_code\" text null, \"metadata\" jsonb null, \"position\" int4 not null default 0, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, constraint \"sales_quote_adjustments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_quote_adjustments_scope_idx\" on \"sales_quote_adjustments\" (\"quote_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_quote_lines\" (\"id\" uuid not null default gen_random_uuid(), \"quote_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"line_number\" int4 not null default 0, \"kind\" text not null default 'product', \"status_entry_id\" uuid null, \"status\" text null, \"product_id\" uuid null, \"product_variant_id\" uuid null, \"catalog_snapshot\" jsonb null, \"name\" text null, \"description\" text null, \"comment\" text null, \"quantity\" numeric(18,4) not null default '0', \"quantity_unit\" text null, \"currency_code\" text not null, \"unit_price_net\" numeric(18,4) not null default '0', \"unit_price_gross\" numeric(18,4) not null default '0', \"discount_amount\" numeric(18,4) not null default '0', \"discount_percent\" numeric(7,4) not null default '0', \"tax_rate\" numeric(7,4) not null default '0', \"tax_amount\" numeric(18,4) not null default '0', \"total_net_amount\" numeric(18,4) not null default '0', \"total_gross_amount\" numeric(18,4) not null default '0', \"configuration\" jsonb null, \"promotion_code\" text null, \"promotion_snapshot\" jsonb null, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_quote_lines_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_quote_lines_scope_idx\" on \"sales_quote_lines\" (\"quote_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_quote_lines_status_idx\" on \"sales_quote_lines\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_quotes\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"quote_number\" text not null, \"status_entry_id\" uuid null, \"status\" text null, \"customer_entity_id\" uuid null, \"customer_contact_id\" uuid null, \"currency_code\" text not null, \"valid_from\" timestamptz(6) null, \"valid_until\" timestamptz(6) null, \"comments\" text null, \"subtotal_net_amount\" numeric(18,4) not null default '0', \"subtotal_gross_amount\" numeric(18,4) not null default '0', \"discount_total_amount\" numeric(18,4) not null default '0', \"tax_total_amount\" numeric(18,4) not null default '0', \"grand_total_net_amount\" numeric(18,4) not null default '0', \"grand_total_gross_amount\" numeric(18,4) not null default '0', \"line_item_count\" int4 not null default 0, \"metadata\" jsonb null, \"custom_field_set_id\" uuid null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"converted_order_id\" uuid null, constraint \"sales_quotes_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_quotes\" add constraint \"sales_quotes_number_unique\" unique (\"organization_id\", \"tenant_id\", \"quote_number\");`);\n this.addSql(`create index \"sales_quotes_scope_idx\" on \"sales_quotes\" (\"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_quotes_status_idx\" on \"sales_quotes\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_shipment_items\" (\"id\" uuid not null default gen_random_uuid(), \"shipment_id\" uuid not null, \"order_line_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"quantity\" numeric(18,4) not null default '0', \"metadata\" jsonb null, constraint \"sales_shipment_items_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_shipment_items_scope_idx\" on \"sales_shipment_items\" (\"shipment_id\", \"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_shipments\" (\"id\" uuid not null default gen_random_uuid(), \"order_id\" uuid not null, \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"shipment_number\" text null, \"shipping_method_id\" uuid null, \"status_entry_id\" uuid null, \"status\" text null, \"carrier_name\" text null, \"tracking_numbers\" jsonb null, \"shipped_at\" timestamptz(6) null, \"delivered_at\" timestamptz(6) null, \"weight_value\" numeric(16,4) null, \"weight_unit\" text null, \"declared_value_net\" numeric(18,4) null, \"declared_value_gross\" numeric(18,4) null, \"currency_code\" text null, \"notes\" text null, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_shipments_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"sales_shipments_scope_idx\" on \"sales_shipments\" (\"order_id\", \"organization_id\", \"tenant_id\");`);\n this.addSql(`create index \"sales_shipments_status_idx\" on \"sales_shipments\" (\"organization_id\", \"tenant_id\", \"status\");`);\n\n this.addSql(`create table \"sales_shipping_methods\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"description\" text null, \"carrier_code\" text null, \"service_level\" text null, \"estimated_transit_days\" int4 null, \"base_rate_net\" numeric(16,4) not null default '0', \"base_rate_gross\" numeric(16,4) not null default '0', \"currency_code\" text null, \"is_active\" bool not null default true, \"metadata\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"sales_shipping_methods_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_shipping_methods\" add constraint \"sales_shipping_methods_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_shipping_methods_scope_idx\" on \"sales_shipping_methods\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sales_tax_rates\" (\"id\" uuid not null default gen_random_uuid(), \"organization_id\" uuid not null, \"tenant_id\" uuid not null, \"name\" text not null, \"code\" text not null, \"rate\" numeric(7,4) not null, \"country_code\" text null, \"region_code\" text null, \"postal_code\" text null, \"city\" text null, \"customer_group_id\" uuid null, \"product_category_id\" uuid null, \"channel_id\" uuid null, \"priority\" int4 not null default 0, \"is_compound\" bool not null default false, \"metadata\" jsonb null, \"starts_at\" timestamptz(6) null, \"ends_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, \"is_default\" bool not null default false, constraint \"sales_tax_rates_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sales_tax_rates\" add constraint \"sales_tax_rates_code_unique\" unique (\"organization_id\", \"tenant_id\", \"code\");`);\n this.addSql(`create index \"sales_tax_rates_scope_idx\" on \"sales_tax_rates\" (\"organization_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"sessions\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"token\" text not null, \"expires_at\" timestamptz(6) not null, \"created_at\" timestamptz(6) not null, \"last_used_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"sessions_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"sessions\" add constraint \"sessions_token_unique\" unique (\"token\");`);\n\n this.addSql(`create table \"tenants\" (\"id\" uuid not null default gen_random_uuid(), \"name\" text not null, \"is_active\" bool not null default true, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"tenants_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"todos\" (\"id\" uuid not null default gen_random_uuid(), \"title\" text not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"is_done\" bool not null default false, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"todos_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"user_acls\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid not null, \"features_json\" jsonb null, \"is_super_admin\" bool not null default false, \"organizations_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"user_acls_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"user_roles\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"role_id\" uuid not null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"user_roles_pkey\" primary key (\"id\"));`);\n\n this.addSql(`create table \"user_sidebar_preferences\" (\"id\" uuid not null default gen_random_uuid(), \"user_id\" uuid not null, \"tenant_id\" uuid null, \"organization_id\" uuid null, \"locale\" text not null, \"settings_json\" jsonb null, \"created_at\" timestamptz(6) not null, \"updated_at\" timestamptz(6) null, \"deleted_at\" timestamptz(6) null, constraint \"user_sidebar_preferences_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"user_sidebar_preferences\" add constraint \"user_sidebar_preferences_user_id_tenant_id_organi_f3f2f_unique\" unique (\"user_id\", \"tenant_id\", \"organization_id\", \"locale\");`);\n\n this.addSql(`create table \"users\" (\"id\" uuid not null default gen_random_uuid(), \"tenant_id\" uuid null, \"organization_id\" uuid null, \"email\" text not null, \"name\" text null, \"password_hash\" text null, \"is_confirmed\" bool not null default true, \"last_login_at\" timestamptz(6) null, \"created_at\" timestamptz(6) not null, \"deleted_at\" timestamptz(6) null, constraint \"users_pkey\" primary key (\"id\"));`);\n this.addSql(`alter table \"users\" add constraint \"users_email_unique\" unique (\"email\");`);\n\n this.addSql(`create table \"vector_search\" (\"id\" uuid not null default gen_random_uuid(), \"driver_id\" text not null, \"entity_id\" text not null, \"record_id\" text not null, \"tenant_id\" uuid not null, \"organization_id\" uuid null, \"checksum\" text not null, \"embedding\" vector(1536) not null, \"url\" text null, \"presenter\" jsonb null, \"links\" jsonb null, \"payload\" jsonb null, \"result_title\" text null, \"result_subtitle\" text null, \"result_icon\" text null, \"result_badge\" text null, \"result_snapshot\" text null, \"primary_link_href\" text null, \"primary_link_label\" text null, \"created_at\" timestamptz(6) not null default now(), \"updated_at\" timestamptz(6) not null default now(), constraint \"vector_search_pkey\" primary key (\"id\"));`);\n this.addSql(`create index \"vector_search_embedding_idx\" on \"vector_search\" (\"embedding\");`);\n this.addSql(`create index \"vector_search_lookup\" on \"vector_search\" (\"tenant_id\", \"organization_id\", \"entity_id\");`);\n this.addSql(`alter table \"vector_search\" add constraint \"vector_search_uniq\" unique (\"driver_id\", \"entity_id\", \"record_id\", \"tenant_id\");`);\n\n this.addSql(`create table \"vector_search_migrations\" (\"id\" text not null, \"applied_at\" timestamptz(6) not null default now(), constraint \"vector_search_migrations_pkey\" primary key (\"id\"));`);\n }\n\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }