@wopr-network/platform-core 1.66.0 → 1.66.1
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.
- package/drizzle/migrations/0000_slippery_mandrill.sql +133 -133
- package/drizzle/migrations/0001_infrastructure_extraction.sql +102 -102
- package/drizzle/migrations/0002_gateway_service_keys.sql +4 -4
- package/drizzle/migrations/0003_double_entry_ledger.sql +15 -15
- package/drizzle/migrations/0005_stablecoin_columns.sql +7 -7
- package/drizzle/migrations/0006_invite_acceptance.sql +2 -2
- package/drizzle/migrations/0010_oracle_address.sql +2 -2
- package/drizzle/migrations/0011_notification_templates.sql +1 -1
- package/drizzle/migrations/0014_crypto_key_server.sql +2 -2
- package/drizzle/migrations/0015_callback_url.sql +3 -3
- package/drizzle/migrations/0016_charge_progress_columns.sql +4 -4
- package/drizzle/migrations/0020_encoding_params_column.sql +1 -1
- package/drizzle/migrations/0021_watcher_type_column.sql +1 -1
- package/drizzle/migrations/0022_oracle_asset_id_column.sql +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ CREATE TYPE "public"."promotion_status" AS ENUM('draft', 'scheduled', 'active',
|
|
|
2
2
|
CREATE TYPE "public"."promotion_type" AS ENUM('bonus_on_purchase', 'coupon_fixed', 'coupon_unique', 'batch_grant');--> statement-breakpoint
|
|
3
3
|
CREATE TYPE "public"."promotion_user_segment" AS ENUM('all', 'new_users', 'existing_users', 'tenant_list');--> statement-breakpoint
|
|
4
4
|
CREATE TYPE "public"."promotion_value_type" AS ENUM('flat_credits', 'percent_of_purchase');--> statement-breakpoint
|
|
5
|
-
CREATE TABLE "account_deletion_requests" (
|
|
5
|
+
CREATE TABLE IF NOT EXISTS "account_deletion_requests" (
|
|
6
6
|
"id" text PRIMARY KEY NOT NULL,
|
|
7
7
|
"tenant_id" text NOT NULL,
|
|
8
8
|
"requested_by" text NOT NULL,
|
|
@@ -16,7 +16,7 @@ CREATE TABLE "account_deletion_requests" (
|
|
|
16
16
|
"updated_at" text DEFAULT (now()) NOT NULL
|
|
17
17
|
);
|
|
18
18
|
--> statement-breakpoint
|
|
19
|
-
CREATE TABLE "account_export_requests" (
|
|
19
|
+
CREATE TABLE IF NOT EXISTS "account_export_requests" (
|
|
20
20
|
"id" text PRIMARY KEY NOT NULL,
|
|
21
21
|
"tenant_id" text NOT NULL,
|
|
22
22
|
"requested_by" text NOT NULL,
|
|
@@ -27,7 +27,7 @@ CREATE TABLE "account_export_requests" (
|
|
|
27
27
|
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
28
28
|
);
|
|
29
29
|
--> statement-breakpoint
|
|
30
|
-
CREATE TABLE "admin_audit_log" (
|
|
30
|
+
CREATE TABLE IF NOT EXISTS "admin_audit_log" (
|
|
31
31
|
"id" text PRIMARY KEY NOT NULL,
|
|
32
32
|
"admin_user" text NOT NULL,
|
|
33
33
|
"action" text NOT NULL,
|
|
@@ -41,7 +41,7 @@ CREATE TABLE "admin_audit_log" (
|
|
|
41
41
|
"outcome" text
|
|
42
42
|
);
|
|
43
43
|
--> statement-breakpoint
|
|
44
|
-
CREATE TABLE "admin_users" (
|
|
44
|
+
CREATE TABLE IF NOT EXISTS "admin_users" (
|
|
45
45
|
"id" text PRIMARY KEY NOT NULL,
|
|
46
46
|
"email" text NOT NULL,
|
|
47
47
|
"name" text,
|
|
@@ -56,14 +56,14 @@ CREATE TABLE "admin_users" (
|
|
|
56
56
|
CONSTRAINT "chk_admin_users_role" CHECK ("admin_users"."role" IN ('platform_admin', 'tenant_admin', 'user'))
|
|
57
57
|
);
|
|
58
58
|
--> statement-breakpoint
|
|
59
|
-
CREATE TABLE "affiliate_codes" (
|
|
59
|
+
CREATE TABLE IF NOT EXISTS "affiliate_codes" (
|
|
60
60
|
"tenant_id" text PRIMARY KEY NOT NULL,
|
|
61
61
|
"code" text NOT NULL,
|
|
62
62
|
"created_at" text DEFAULT (now()) NOT NULL,
|
|
63
63
|
CONSTRAINT "affiliate_codes_code_unique" UNIQUE("code")
|
|
64
64
|
);
|
|
65
65
|
--> statement-breakpoint
|
|
66
|
-
CREATE TABLE "affiliate_referrals" (
|
|
66
|
+
CREATE TABLE IF NOT EXISTS "affiliate_referrals" (
|
|
67
67
|
"id" text PRIMARY KEY NOT NULL,
|
|
68
68
|
"referrer_tenant_id" text NOT NULL,
|
|
69
69
|
"referred_tenant_id" text NOT NULL,
|
|
@@ -79,7 +79,7 @@ CREATE TABLE "affiliate_referrals" (
|
|
|
79
79
|
CONSTRAINT "affiliate_referrals_referred_tenant_id_unique" UNIQUE("referred_tenant_id")
|
|
80
80
|
);
|
|
81
81
|
--> statement-breakpoint
|
|
82
|
-
CREATE TABLE "affiliate_fraud_events" (
|
|
82
|
+
CREATE TABLE IF NOT EXISTS "affiliate_fraud_events" (
|
|
83
83
|
"id" text PRIMARY KEY NOT NULL,
|
|
84
84
|
"referral_id" text NOT NULL,
|
|
85
85
|
"referrer_tenant_id" text NOT NULL,
|
|
@@ -91,7 +91,7 @@ CREATE TABLE "affiliate_fraud_events" (
|
|
|
91
91
|
"created_at" text DEFAULT (now()) NOT NULL
|
|
92
92
|
);
|
|
93
93
|
--> statement-breakpoint
|
|
94
|
-
CREATE TABLE "coupon_codes" (
|
|
94
|
+
CREATE TABLE IF NOT EXISTS "coupon_codes" (
|
|
95
95
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
96
96
|
"promotion_id" uuid NOT NULL,
|
|
97
97
|
"code" text NOT NULL,
|
|
@@ -103,7 +103,7 @@ CREATE TABLE "coupon_codes" (
|
|
|
103
103
|
CONSTRAINT "coupon_codes_code_unique" UNIQUE("code")
|
|
104
104
|
);
|
|
105
105
|
--> statement-breakpoint
|
|
106
|
-
CREATE TABLE "credit_auto_topup" (
|
|
106
|
+
CREATE TABLE IF NOT EXISTS "credit_auto_topup" (
|
|
107
107
|
"id" text PRIMARY KEY NOT NULL,
|
|
108
108
|
"tenant_id" text NOT NULL,
|
|
109
109
|
"amount_cents" integer NOT NULL,
|
|
@@ -113,7 +113,7 @@ CREATE TABLE "credit_auto_topup" (
|
|
|
113
113
|
"created_at" text DEFAULT (now()) NOT NULL
|
|
114
114
|
);
|
|
115
115
|
--> statement-breakpoint
|
|
116
|
-
CREATE TABLE "credit_auto_topup_settings" (
|
|
116
|
+
CREATE TABLE IF NOT EXISTS "credit_auto_topup_settings" (
|
|
117
117
|
"tenant_id" text PRIMARY KEY NOT NULL,
|
|
118
118
|
"usage_enabled" boolean DEFAULT false NOT NULL,
|
|
119
119
|
"usage_threshold_cents" integer DEFAULT 100 NOT NULL,
|
|
@@ -129,13 +129,13 @@ CREATE TABLE "credit_auto_topup_settings" (
|
|
|
129
129
|
"updated_at" text DEFAULT (now()) NOT NULL
|
|
130
130
|
);
|
|
131
131
|
--> statement-breakpoint
|
|
132
|
-
CREATE TABLE "credit_balances" (
|
|
132
|
+
CREATE TABLE IF NOT EXISTS "credit_balances" (
|
|
133
133
|
"tenant_id" text PRIMARY KEY NOT NULL,
|
|
134
134
|
"balance_credits" bigint DEFAULT 0 NOT NULL,
|
|
135
135
|
"last_updated" text DEFAULT (now()) NOT NULL
|
|
136
136
|
);
|
|
137
137
|
--> statement-breakpoint
|
|
138
|
-
CREATE TABLE "credit_transactions" (
|
|
138
|
+
CREATE TABLE IF NOT EXISTS "credit_transactions" (
|
|
139
139
|
"id" text PRIMARY KEY NOT NULL,
|
|
140
140
|
"tenant_id" text NOT NULL,
|
|
141
141
|
"amount_credits" bigint NOT NULL,
|
|
@@ -151,7 +151,7 @@ CREATE TABLE "credit_transactions" (
|
|
|
151
151
|
CONSTRAINT "credit_transactions_reference_id_unique" UNIQUE("reference_id")
|
|
152
152
|
);
|
|
153
153
|
--> statement-breakpoint
|
|
154
|
-
CREATE TABLE "dividend_distributions" (
|
|
154
|
+
CREATE TABLE IF NOT EXISTS "dividend_distributions" (
|
|
155
155
|
"id" text PRIMARY KEY NOT NULL,
|
|
156
156
|
"tenant_id" text NOT NULL,
|
|
157
157
|
"date" text NOT NULL,
|
|
@@ -161,7 +161,7 @@ CREATE TABLE "dividend_distributions" (
|
|
|
161
161
|
"created_at" text DEFAULT (now()) NOT NULL
|
|
162
162
|
);
|
|
163
163
|
--> statement-breakpoint
|
|
164
|
-
CREATE TABLE "email_notifications" (
|
|
164
|
+
CREATE TABLE IF NOT EXISTS "email_notifications" (
|
|
165
165
|
"id" text PRIMARY KEY NOT NULL,
|
|
166
166
|
"tenant_id" text NOT NULL,
|
|
167
167
|
"email_type" text NOT NULL,
|
|
@@ -170,7 +170,7 @@ CREATE TABLE "email_notifications" (
|
|
|
170
170
|
CONSTRAINT "uniq_email_per_day" UNIQUE("tenant_id","email_type","sent_date")
|
|
171
171
|
);
|
|
172
172
|
--> statement-breakpoint
|
|
173
|
-
CREATE TABLE "billing_period_summaries" (
|
|
173
|
+
CREATE TABLE IF NOT EXISTS "billing_period_summaries" (
|
|
174
174
|
"id" text PRIMARY KEY NOT NULL,
|
|
175
175
|
"tenant" text NOT NULL,
|
|
176
176
|
"capability" text NOT NULL,
|
|
@@ -184,7 +184,7 @@ CREATE TABLE "billing_period_summaries" (
|
|
|
184
184
|
"updated_at" bigint NOT NULL
|
|
185
185
|
);
|
|
186
186
|
--> statement-breakpoint
|
|
187
|
-
CREATE TABLE "meter_events" (
|
|
187
|
+
CREATE TABLE IF NOT EXISTS "meter_events" (
|
|
188
188
|
"id" text PRIMARY KEY NOT NULL,
|
|
189
189
|
"tenant" text NOT NULL,
|
|
190
190
|
"cost" bigint NOT NULL,
|
|
@@ -200,7 +200,7 @@ CREATE TABLE "meter_events" (
|
|
|
200
200
|
"metadata" text
|
|
201
201
|
);
|
|
202
202
|
--> statement-breakpoint
|
|
203
|
-
CREATE TABLE "usage_summaries" (
|
|
203
|
+
CREATE TABLE IF NOT EXISTS "usage_summaries" (
|
|
204
204
|
"id" text PRIMARY KEY NOT NULL,
|
|
205
205
|
"tenant" text NOT NULL,
|
|
206
206
|
"capability" text NOT NULL,
|
|
@@ -213,7 +213,7 @@ CREATE TABLE "usage_summaries" (
|
|
|
213
213
|
"window_end" bigint NOT NULL
|
|
214
214
|
);
|
|
215
215
|
--> statement-breakpoint
|
|
216
|
-
CREATE TABLE "notification_preferences" (
|
|
216
|
+
CREATE TABLE IF NOT EXISTS "notification_preferences" (
|
|
217
217
|
"tenant_id" text PRIMARY KEY NOT NULL,
|
|
218
218
|
"billing_low_balance" boolean DEFAULT true NOT NULL,
|
|
219
219
|
"billing_receipts" boolean DEFAULT true NOT NULL,
|
|
@@ -225,7 +225,7 @@ CREATE TABLE "notification_preferences" (
|
|
|
225
225
|
"updated_at" bigint DEFAULT (extract(epoch from now()))::bigint NOT NULL
|
|
226
226
|
);
|
|
227
227
|
--> statement-breakpoint
|
|
228
|
-
CREATE TABLE "notification_queue" (
|
|
228
|
+
CREATE TABLE IF NOT EXISTS "notification_queue" (
|
|
229
229
|
"id" text PRIMARY KEY NOT NULL,
|
|
230
230
|
"tenant_id" text NOT NULL,
|
|
231
231
|
"email_type" text NOT NULL,
|
|
@@ -241,14 +241,14 @@ CREATE TABLE "notification_queue" (
|
|
|
241
241
|
"sent_at" bigint
|
|
242
242
|
);
|
|
243
243
|
--> statement-breakpoint
|
|
244
|
-
CREATE TABLE "org_memberships" (
|
|
244
|
+
CREATE TABLE IF NOT EXISTS "org_memberships" (
|
|
245
245
|
"org_tenant_id" text NOT NULL,
|
|
246
246
|
"member_tenant_id" text NOT NULL,
|
|
247
247
|
"created_at" bigint NOT NULL,
|
|
248
248
|
CONSTRAINT "org_memberships_org_tenant_id_member_tenant_id_pk" PRIMARY KEY("org_tenant_id","member_tenant_id")
|
|
249
249
|
);
|
|
250
250
|
--> statement-breakpoint
|
|
251
|
-
CREATE TABLE "organization_invites" (
|
|
251
|
+
CREATE TABLE IF NOT EXISTS "organization_invites" (
|
|
252
252
|
"id" text PRIMARY KEY NOT NULL,
|
|
253
253
|
"org_id" text NOT NULL,
|
|
254
254
|
"email" text NOT NULL,
|
|
@@ -260,7 +260,7 @@ CREATE TABLE "organization_invites" (
|
|
|
260
260
|
CONSTRAINT "organization_invites_token_unique" UNIQUE("token")
|
|
261
261
|
);
|
|
262
262
|
--> statement-breakpoint
|
|
263
|
-
CREATE TABLE "organization_members" (
|
|
263
|
+
CREATE TABLE IF NOT EXISTS "organization_members" (
|
|
264
264
|
"id" text PRIMARY KEY NOT NULL,
|
|
265
265
|
"org_id" text NOT NULL,
|
|
266
266
|
"user_id" text NOT NULL,
|
|
@@ -268,7 +268,7 @@ CREATE TABLE "organization_members" (
|
|
|
268
268
|
"joined_at" bigint DEFAULT (extract(epoch from now()) * 1000)::bigint NOT NULL
|
|
269
269
|
);
|
|
270
270
|
--> statement-breakpoint
|
|
271
|
-
CREATE TABLE "payram_charges" (
|
|
271
|
+
CREATE TABLE IF NOT EXISTS "payram_charges" (
|
|
272
272
|
"reference_id" text PRIMARY KEY NOT NULL,
|
|
273
273
|
"tenant_id" text NOT NULL,
|
|
274
274
|
"amount_usd_cents" integer NOT NULL,
|
|
@@ -280,7 +280,7 @@ CREATE TABLE "payram_charges" (
|
|
|
280
280
|
"credited_at" text
|
|
281
281
|
);
|
|
282
282
|
--> statement-breakpoint
|
|
283
|
-
CREATE TABLE "platform_api_keys" (
|
|
283
|
+
CREATE TABLE IF NOT EXISTS "platform_api_keys" (
|
|
284
284
|
"id" text PRIMARY KEY NOT NULL,
|
|
285
285
|
"key_hash" text NOT NULL,
|
|
286
286
|
"user_id" text NOT NULL,
|
|
@@ -291,7 +291,7 @@ CREATE TABLE "platform_api_keys" (
|
|
|
291
291
|
"created_at" bigint NOT NULL
|
|
292
292
|
);
|
|
293
293
|
--> statement-breakpoint
|
|
294
|
-
CREATE TABLE "promotion_redemptions" (
|
|
294
|
+
CREATE TABLE IF NOT EXISTS "promotion_redemptions" (
|
|
295
295
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
296
296
|
"promotion_id" uuid NOT NULL,
|
|
297
297
|
"tenant_id" text NOT NULL,
|
|
@@ -302,7 +302,7 @@ CREATE TABLE "promotion_redemptions" (
|
|
|
302
302
|
"redeemed_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
303
303
|
);
|
|
304
304
|
--> statement-breakpoint
|
|
305
|
-
CREATE TABLE "promotions" (
|
|
305
|
+
CREATE TABLE IF NOT EXISTS "promotions" (
|
|
306
306
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
307
307
|
"name" text NOT NULL,
|
|
308
308
|
"type" "promotion_type" NOT NULL,
|
|
@@ -330,7 +330,7 @@ CREATE TABLE "promotions" (
|
|
|
330
330
|
CONSTRAINT "promotions_coupon_code_unique" UNIQUE("coupon_code")
|
|
331
331
|
);
|
|
332
332
|
--> statement-breakpoint
|
|
333
|
-
CREATE TABLE "provider_credentials" (
|
|
333
|
+
CREATE TABLE IF NOT EXISTS "provider_credentials" (
|
|
334
334
|
"id" text PRIMARY KEY NOT NULL,
|
|
335
335
|
"provider" text NOT NULL,
|
|
336
336
|
"key_name" text NOT NULL,
|
|
@@ -344,7 +344,7 @@ CREATE TABLE "provider_credentials" (
|
|
|
344
344
|
"created_by" text NOT NULL
|
|
345
345
|
);
|
|
346
346
|
--> statement-breakpoint
|
|
347
|
-
CREATE TABLE "rate_limit_entries" (
|
|
347
|
+
CREATE TABLE IF NOT EXISTS "rate_limit_entries" (
|
|
348
348
|
"key" text NOT NULL,
|
|
349
349
|
"scope" text NOT NULL,
|
|
350
350
|
"count" integer DEFAULT 0 NOT NULL,
|
|
@@ -352,7 +352,7 @@ CREATE TABLE "rate_limit_entries" (
|
|
|
352
352
|
CONSTRAINT "rate_limit_entries_key_scope_pk" PRIMARY KEY("key","scope")
|
|
353
353
|
);
|
|
354
354
|
--> statement-breakpoint
|
|
355
|
-
CREATE TABLE "secret_audit_log" (
|
|
355
|
+
CREATE TABLE IF NOT EXISTS "secret_audit_log" (
|
|
356
356
|
"id" text PRIMARY KEY NOT NULL,
|
|
357
357
|
"credential_id" text NOT NULL,
|
|
358
358
|
"accessed_at" bigint DEFAULT (extract(epoch from now()) * 1000)::bigint NOT NULL,
|
|
@@ -361,7 +361,7 @@ CREATE TABLE "secret_audit_log" (
|
|
|
361
361
|
"ip" text
|
|
362
362
|
);
|
|
363
363
|
--> statement-breakpoint
|
|
364
|
-
CREATE TABLE "session_usage" (
|
|
364
|
+
CREATE TABLE IF NOT EXISTS "session_usage" (
|
|
365
365
|
"id" text PRIMARY KEY NOT NULL,
|
|
366
366
|
"session_id" text NOT NULL,
|
|
367
367
|
"user_id" text,
|
|
@@ -375,7 +375,7 @@ CREATE TABLE "session_usage" (
|
|
|
375
375
|
"created_at" bigint NOT NULL
|
|
376
376
|
);
|
|
377
377
|
--> statement-breakpoint
|
|
378
|
-
CREATE TABLE "tenant_spending_limits" (
|
|
378
|
+
CREATE TABLE IF NOT EXISTS "tenant_spending_limits" (
|
|
379
379
|
"tenant_id" text PRIMARY KEY NOT NULL,
|
|
380
380
|
"global_alert_at" real,
|
|
381
381
|
"global_hard_cap" real,
|
|
@@ -383,14 +383,14 @@ CREATE TABLE "tenant_spending_limits" (
|
|
|
383
383
|
"updated_at" bigint NOT NULL
|
|
384
384
|
);
|
|
385
385
|
--> statement-breakpoint
|
|
386
|
-
CREATE TABLE "tenant_addons" (
|
|
386
|
+
CREATE TABLE IF NOT EXISTS "tenant_addons" (
|
|
387
387
|
"tenant_id" text NOT NULL,
|
|
388
388
|
"addon_key" text NOT NULL,
|
|
389
389
|
"enabled_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
390
390
|
CONSTRAINT "tenant_addons_tenant_id_addon_key_pk" PRIMARY KEY("tenant_id","addon_key")
|
|
391
391
|
);
|
|
392
392
|
--> statement-breakpoint
|
|
393
|
-
CREATE TABLE "tenant_api_keys" (
|
|
393
|
+
CREATE TABLE IF NOT EXISTS "tenant_api_keys" (
|
|
394
394
|
"id" text PRIMARY KEY NOT NULL,
|
|
395
395
|
"tenant_id" text NOT NULL,
|
|
396
396
|
"provider" text NOT NULL,
|
|
@@ -400,7 +400,7 @@ CREATE TABLE "tenant_api_keys" (
|
|
|
400
400
|
"updated_at" bigint NOT NULL
|
|
401
401
|
);
|
|
402
402
|
--> statement-breakpoint
|
|
403
|
-
CREATE TABLE "tenant_capability_settings" (
|
|
403
|
+
CREATE TABLE IF NOT EXISTS "tenant_capability_settings" (
|
|
404
404
|
"tenant_id" text NOT NULL,
|
|
405
405
|
"capability" text NOT NULL,
|
|
406
406
|
"mode" text DEFAULT 'hosted' NOT NULL,
|
|
@@ -408,7 +408,7 @@ CREATE TABLE "tenant_capability_settings" (
|
|
|
408
408
|
CONSTRAINT "tenant_capability_settings_tenant_id_capability_pk" PRIMARY KEY("tenant_id","capability")
|
|
409
409
|
);
|
|
410
410
|
--> statement-breakpoint
|
|
411
|
-
CREATE TABLE "stripe_usage_reports" (
|
|
411
|
+
CREATE TABLE IF NOT EXISTS "stripe_usage_reports" (
|
|
412
412
|
"id" text PRIMARY KEY NOT NULL,
|
|
413
413
|
"tenant" text NOT NULL,
|
|
414
414
|
"capability" text NOT NULL,
|
|
@@ -420,7 +420,7 @@ CREATE TABLE "stripe_usage_reports" (
|
|
|
420
420
|
"reported_at" bigint NOT NULL
|
|
421
421
|
);
|
|
422
422
|
--> statement-breakpoint
|
|
423
|
-
CREATE TABLE "tenant_customers" (
|
|
423
|
+
CREATE TABLE IF NOT EXISTS "tenant_customers" (
|
|
424
424
|
"tenant" text PRIMARY KEY NOT NULL,
|
|
425
425
|
"processor_customer_id" text NOT NULL,
|
|
426
426
|
"processor" text DEFAULT 'stripe' NOT NULL,
|
|
@@ -432,7 +432,7 @@ CREATE TABLE "tenant_customers" (
|
|
|
432
432
|
CONSTRAINT "tenant_customers_processor_customer_id_unique" UNIQUE("processor_customer_id")
|
|
433
433
|
);
|
|
434
434
|
--> statement-breakpoint
|
|
435
|
-
CREATE TABLE "tenants" (
|
|
435
|
+
CREATE TABLE IF NOT EXISTS "tenants" (
|
|
436
436
|
"id" text PRIMARY KEY NOT NULL,
|
|
437
437
|
"name" text NOT NULL,
|
|
438
438
|
"slug" text,
|
|
@@ -444,7 +444,7 @@ CREATE TABLE "tenants" (
|
|
|
444
444
|
CONSTRAINT "chk_tenants_type" CHECK ("tenants"."type" IN ('personal', 'org'))
|
|
445
445
|
);
|
|
446
446
|
--> statement-breakpoint
|
|
447
|
-
CREATE TABLE "user_roles" (
|
|
447
|
+
CREATE TABLE IF NOT EXISTS "user_roles" (
|
|
448
448
|
"user_id" text NOT NULL,
|
|
449
449
|
"tenant_id" text NOT NULL,
|
|
450
450
|
"role" text NOT NULL,
|
|
@@ -453,7 +453,7 @@ CREATE TABLE "user_roles" (
|
|
|
453
453
|
CONSTRAINT "user_roles_user_id_tenant_id_pk" PRIMARY KEY("user_id","tenant_id")
|
|
454
454
|
);
|
|
455
455
|
--> statement-breakpoint
|
|
456
|
-
CREATE TABLE "webhook_seen_events" (
|
|
456
|
+
CREATE TABLE IF NOT EXISTS "webhook_seen_events" (
|
|
457
457
|
"event_id" text NOT NULL,
|
|
458
458
|
"source" text NOT NULL,
|
|
459
459
|
"seen_at" bigint NOT NULL,
|
|
@@ -463,97 +463,97 @@ CREATE TABLE "webhook_seen_events" (
|
|
|
463
463
|
ALTER TABLE "coupon_codes" ADD CONSTRAINT "coupon_codes_promotion_id_promotions_id_fk" FOREIGN KEY ("promotion_id") REFERENCES "public"."promotions"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
464
464
|
ALTER TABLE "promotion_redemptions" ADD CONSTRAINT "promotion_redemptions_promotion_id_promotions_id_fk" FOREIGN KEY ("promotion_id") REFERENCES "public"."promotions"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
465
465
|
ALTER TABLE "promotion_redemptions" ADD CONSTRAINT "promotion_redemptions_coupon_code_id_coupon_codes_id_fk" FOREIGN KEY ("coupon_code_id") REFERENCES "public"."coupon_codes"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
|
466
|
-
CREATE INDEX "idx_acct_del_tenant" ON "account_deletion_requests" USING btree ("tenant_id");--> statement-breakpoint
|
|
467
|
-
CREATE INDEX "idx_acct_del_status" ON "account_deletion_requests" USING btree ("status");--> statement-breakpoint
|
|
468
|
-
CREATE INDEX "idx_acct_del_delete_after" ON "account_deletion_requests" USING btree ("status","delete_after");--> statement-breakpoint
|
|
469
|
-
CREATE INDEX "idx_acct_export_tenant" ON "account_export_requests" USING btree ("tenant_id");--> statement-breakpoint
|
|
470
|
-
CREATE INDEX "idx_acct_export_status" ON "account_export_requests" USING btree ("status");--> statement-breakpoint
|
|
471
|
-
CREATE INDEX "idx_admin_audit_admin" ON "admin_audit_log" USING btree ("admin_user","created_at");--> statement-breakpoint
|
|
472
|
-
CREATE INDEX "idx_admin_audit_tenant" ON "admin_audit_log" USING btree ("target_tenant","created_at");--> statement-breakpoint
|
|
473
|
-
CREATE INDEX "idx_admin_audit_action" ON "admin_audit_log" USING btree ("action","created_at");--> statement-breakpoint
|
|
474
|
-
CREATE INDEX "idx_admin_users_email" ON "admin_users" USING btree ("email");--> statement-breakpoint
|
|
475
|
-
CREATE INDEX "idx_admin_users_tenant" ON "admin_users" USING btree ("tenant_id");--> statement-breakpoint
|
|
476
|
-
CREATE INDEX "idx_admin_users_status" ON "admin_users" USING btree ("status");--> statement-breakpoint
|
|
477
|
-
CREATE INDEX "idx_admin_users_role" ON "admin_users" USING btree ("role");--> statement-breakpoint
|
|
478
|
-
CREATE INDEX "idx_admin_users_created" ON "admin_users" USING btree ("created_at");--> statement-breakpoint
|
|
479
|
-
CREATE INDEX "idx_admin_users_last_seen" ON "admin_users" USING btree ("last_seen");--> statement-breakpoint
|
|
480
|
-
CREATE INDEX "idx_affiliate_ref_referrer" ON "affiliate_referrals" USING btree ("referrer_tenant_id");--> statement-breakpoint
|
|
481
|
-
CREATE INDEX "idx_affiliate_ref_code" ON "affiliate_referrals" USING btree ("code");--> statement-breakpoint
|
|
482
|
-
CREATE INDEX "idx_fraud_referrer" ON "affiliate_fraud_events" USING btree ("referrer_tenant_id");--> statement-breakpoint
|
|
483
|
-
CREATE INDEX "idx_fraud_referred" ON "affiliate_fraud_events" USING btree ("referred_tenant_id");--> statement-breakpoint
|
|
484
|
-
CREATE INDEX "idx_fraud_verdict" ON "affiliate_fraud_events" USING btree ("verdict");--> statement-breakpoint
|
|
485
|
-
CREATE UNIQUE INDEX "uq_fraud_referral_phase" ON "affiliate_fraud_events" USING btree ("referral_id","phase");--> statement-breakpoint
|
|
486
|
-
CREATE INDEX "coupon_codes_promotion_idx" ON "coupon_codes" USING btree ("promotion_id");--> statement-breakpoint
|
|
487
|
-
CREATE INDEX "coupon_codes_assigned_tenant_idx" ON "coupon_codes" USING btree ("assigned_tenant_id");--> statement-breakpoint
|
|
488
|
-
CREATE INDEX "idx_auto_topup_tenant" ON "credit_auto_topup" USING btree ("tenant_id");--> statement-breakpoint
|
|
489
|
-
CREATE INDEX "idx_auto_topup_status" ON "credit_auto_topup" USING btree ("status");--> statement-breakpoint
|
|
490
|
-
CREATE INDEX "idx_auto_topup_created" ON "credit_auto_topup" USING btree ("created_at");--> statement-breakpoint
|
|
491
|
-
CREATE INDEX "idx_auto_topup_tenant_created" ON "credit_auto_topup" USING btree ("tenant_id","created_at");--> statement-breakpoint
|
|
492
|
-
CREATE INDEX "idx_auto_topup_settings_usage" ON "credit_auto_topup_settings" USING btree ("usage_enabled");--> statement-breakpoint
|
|
493
|
-
CREATE INDEX "idx_auto_topup_settings_schedule" ON "credit_auto_topup_settings" USING btree ("schedule_enabled","schedule_next_at");--> statement-breakpoint
|
|
494
|
-
CREATE INDEX "idx_credit_tx_tenant" ON "credit_transactions" USING btree ("tenant_id");--> statement-breakpoint
|
|
495
|
-
CREATE INDEX "idx_credit_tx_type" ON "credit_transactions" USING btree ("type");--> statement-breakpoint
|
|
496
|
-
CREATE INDEX "idx_credit_tx_ref" ON "credit_transactions" USING btree ("reference_id");--> statement-breakpoint
|
|
497
|
-
CREATE INDEX "idx_credit_tx_created" ON "credit_transactions" USING btree ("created_at");--> statement-breakpoint
|
|
498
|
-
CREATE INDEX "idx_credit_tx_tenant_created" ON "credit_transactions" USING btree ("tenant_id","created_at");--> statement-breakpoint
|
|
499
|
-
CREATE INDEX "idx_credit_tx_expires" ON "credit_transactions" USING btree ("expires_at");--> statement-breakpoint
|
|
500
|
-
CREATE INDEX "idx_credit_tx_fingerprint" ON "credit_transactions" USING btree ("stripe_fingerprint") WHERE "credit_transactions"."stripe_fingerprint" IS NOT NULL;--> statement-breakpoint
|
|
501
|
-
CREATE INDEX "idx_dividend_dist_tenant" ON "dividend_distributions" USING btree ("tenant_id");--> statement-breakpoint
|
|
502
|
-
CREATE INDEX "idx_dividend_dist_date" ON "dividend_distributions" USING btree ("date");--> statement-breakpoint
|
|
503
|
-
CREATE INDEX "idx_dividend_dist_tenant_date" ON "dividend_distributions" USING btree ("tenant_id","date");--> statement-breakpoint
|
|
504
|
-
CREATE INDEX "idx_email_notif_tenant" ON "email_notifications" USING btree ("tenant_id");--> statement-breakpoint
|
|
505
|
-
CREATE INDEX "idx_email_notif_type" ON "email_notifications" USING btree ("email_type");--> statement-breakpoint
|
|
506
|
-
CREATE UNIQUE INDEX "idx_billing_period_unique" ON "billing_period_summaries" USING btree ("tenant","capability","provider","period_start");--> statement-breakpoint
|
|
507
|
-
CREATE INDEX "idx_billing_period_tenant" ON "billing_period_summaries" USING btree ("tenant","period_start");--> statement-breakpoint
|
|
508
|
-
CREATE INDEX "idx_billing_period_window" ON "billing_period_summaries" USING btree ("period_start","period_end");--> statement-breakpoint
|
|
509
|
-
CREATE INDEX "idx_meter_tenant" ON "meter_events" USING btree ("tenant");--> statement-breakpoint
|
|
510
|
-
CREATE INDEX "idx_meter_timestamp" ON "meter_events" USING btree ("timestamp");--> statement-breakpoint
|
|
511
|
-
CREATE INDEX "idx_meter_capability" ON "meter_events" USING btree ("capability");--> statement-breakpoint
|
|
512
|
-
CREATE INDEX "idx_meter_session" ON "meter_events" USING btree ("session_id");--> statement-breakpoint
|
|
513
|
-
CREATE INDEX "idx_meter_tenant_timestamp" ON "meter_events" USING btree ("tenant","timestamp");--> statement-breakpoint
|
|
514
|
-
CREATE INDEX "idx_meter_tier" ON "meter_events" USING btree ("tier");--> statement-breakpoint
|
|
515
|
-
CREATE INDEX "idx_summary_tenant" ON "usage_summaries" USING btree ("tenant","window_start");--> statement-breakpoint
|
|
516
|
-
CREATE INDEX "idx_summary_window" ON "usage_summaries" USING btree ("window_start","window_end");--> statement-breakpoint
|
|
517
|
-
CREATE INDEX "idx_notif_queue_tenant" ON "notification_queue" USING btree ("tenant_id");--> statement-breakpoint
|
|
518
|
-
CREATE INDEX "idx_notif_queue_status" ON "notification_queue" USING btree ("status");--> statement-breakpoint
|
|
519
|
-
CREATE INDEX "idx_notif_queue_type" ON "notification_queue" USING btree ("email_type");--> statement-breakpoint
|
|
520
|
-
CREATE INDEX "idx_notif_queue_retry" ON "notification_queue" USING btree ("status","retry_after");--> statement-breakpoint
|
|
521
|
-
CREATE UNIQUE INDEX "idx_org_memberships_member_unique" ON "org_memberships" USING btree ("member_tenant_id");--> statement-breakpoint
|
|
522
|
-
CREATE INDEX "idx_org_memberships_org" ON "org_memberships" USING btree ("org_tenant_id");--> statement-breakpoint
|
|
523
|
-
CREATE INDEX "idx_org_invites_org_id" ON "organization_invites" USING btree ("org_id");--> statement-breakpoint
|
|
524
|
-
CREATE INDEX "idx_org_invites_token" ON "organization_invites" USING btree ("token");--> statement-breakpoint
|
|
525
|
-
CREATE INDEX "idx_org_members_org_id" ON "organization_members" USING btree ("org_id");--> statement-breakpoint
|
|
526
|
-
CREATE INDEX "idx_org_members_user_id" ON "organization_members" USING btree ("user_id");--> statement-breakpoint
|
|
527
|
-
CREATE UNIQUE INDEX "org_members_org_user_unique" ON "organization_members" USING btree ("org_id","user_id");--> statement-breakpoint
|
|
528
|
-
CREATE INDEX "idx_payram_charges_tenant" ON "payram_charges" USING btree ("tenant_id");--> statement-breakpoint
|
|
529
|
-
CREATE INDEX "idx_payram_charges_status" ON "payram_charges" USING btree ("status");--> statement-breakpoint
|
|
530
|
-
CREATE INDEX "idx_payram_charges_created" ON "payram_charges" USING btree ("created_at");--> statement-breakpoint
|
|
531
|
-
CREATE UNIQUE INDEX "idx_platform_api_keys_hash" ON "platform_api_keys" USING btree ("key_hash");--> statement-breakpoint
|
|
532
|
-
CREATE INDEX "idx_platform_api_keys_user" ON "platform_api_keys" USING btree ("user_id");--> statement-breakpoint
|
|
533
|
-
CREATE INDEX "promotion_redemptions_promotion_idx" ON "promotion_redemptions" USING btree ("promotion_id");--> statement-breakpoint
|
|
534
|
-
CREATE INDEX "promotion_redemptions_tenant_idx" ON "promotion_redemptions" USING btree ("tenant_id");--> statement-breakpoint
|
|
535
|
-
CREATE INDEX "promotions_status_idx" ON "promotions" USING btree ("status");--> statement-breakpoint
|
|
536
|
-
CREATE INDEX "promotions_coupon_code_idx" ON "promotions" USING btree ("coupon_code");--> statement-breakpoint
|
|
537
|
-
CREATE INDEX "idx_provider_creds_provider" ON "provider_credentials" USING btree ("provider");--> statement-breakpoint
|
|
538
|
-
CREATE INDEX "idx_provider_creds_active" ON "provider_credentials" USING btree ("provider","is_active");--> statement-breakpoint
|
|
539
|
-
CREATE INDEX "idx_provider_creds_created_by" ON "provider_credentials" USING btree ("created_by");--> statement-breakpoint
|
|
540
|
-
CREATE INDEX "idx_rate_limit_window" ON "rate_limit_entries" USING btree ("window_start");--> statement-breakpoint
|
|
541
|
-
CREATE INDEX "idx_secret_audit_credential" ON "secret_audit_log" USING btree ("credential_id","accessed_at");--> statement-breakpoint
|
|
542
|
-
CREATE INDEX "idx_secret_audit_accessed_by" ON "secret_audit_log" USING btree ("accessed_by");--> statement-breakpoint
|
|
543
|
-
CREATE INDEX "idx_session_usage_session" ON "session_usage" USING btree ("session_id");--> statement-breakpoint
|
|
544
|
-
CREATE INDEX "idx_session_usage_user" ON "session_usage" USING btree ("user_id");--> statement-breakpoint
|
|
545
|
-
CREATE INDEX "idx_session_usage_created" ON "session_usage" USING btree ("created_at");--> statement-breakpoint
|
|
546
|
-
CREATE INDEX "idx_session_usage_page" ON "session_usage" USING btree ("page");--> statement-breakpoint
|
|
547
|
-
CREATE INDEX "idx_tenant_addons_tenant" ON "tenant_addons" USING btree ("tenant_id");--> statement-breakpoint
|
|
548
|
-
CREATE UNIQUE INDEX "idx_tenant_keys_tenant_provider" ON "tenant_api_keys" USING btree ("tenant_id","provider");--> statement-breakpoint
|
|
549
|
-
CREATE INDEX "idx_tenant_keys_tenant" ON "tenant_api_keys" USING btree ("tenant_id");--> statement-breakpoint
|
|
550
|
-
CREATE INDEX "idx_tenant_keys_provider" ON "tenant_api_keys" USING btree ("provider");--> statement-breakpoint
|
|
551
|
-
CREATE UNIQUE INDEX "idx_stripe_usage_unique" ON "stripe_usage_reports" USING btree ("tenant","capability","provider","period_start");--> statement-breakpoint
|
|
552
|
-
CREATE INDEX "idx_stripe_usage_tenant" ON "stripe_usage_reports" USING btree ("tenant","reported_at");--> statement-breakpoint
|
|
553
|
-
CREATE INDEX "idx_tenant_customers_processor" ON "tenant_customers" USING btree ("processor_customer_id");--> statement-breakpoint
|
|
554
|
-
CREATE INDEX "idx_tenants_slug" ON "tenants" USING btree ("slug");--> statement-breakpoint
|
|
555
|
-
CREATE INDEX "idx_tenants_owner" ON "tenants" USING btree ("owner_id");--> statement-breakpoint
|
|
556
|
-
CREATE INDEX "idx_tenants_type" ON "tenants" USING btree ("type");--> statement-breakpoint
|
|
557
|
-
CREATE INDEX "idx_user_roles_tenant" ON "user_roles" USING btree ("tenant_id");--> statement-breakpoint
|
|
558
|
-
CREATE INDEX "idx_user_roles_role" ON "user_roles" USING btree ("role");--> statement-breakpoint
|
|
559
|
-
CREATE INDEX "idx_webhook_seen_expires" ON "webhook_seen_events" USING btree ("seen_at");
|
|
466
|
+
CREATE INDEX IF NOT EXISTS "idx_acct_del_tenant" ON "account_deletion_requests" USING btree ("tenant_id");--> statement-breakpoint
|
|
467
|
+
CREATE INDEX IF NOT EXISTS "idx_acct_del_status" ON "account_deletion_requests" USING btree ("status");--> statement-breakpoint
|
|
468
|
+
CREATE INDEX IF NOT EXISTS "idx_acct_del_delete_after" ON "account_deletion_requests" USING btree ("status","delete_after");--> statement-breakpoint
|
|
469
|
+
CREATE INDEX IF NOT EXISTS "idx_acct_export_tenant" ON "account_export_requests" USING btree ("tenant_id");--> statement-breakpoint
|
|
470
|
+
CREATE INDEX IF NOT EXISTS "idx_acct_export_status" ON "account_export_requests" USING btree ("status");--> statement-breakpoint
|
|
471
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_audit_admin" ON "admin_audit_log" USING btree ("admin_user","created_at");--> statement-breakpoint
|
|
472
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_audit_tenant" ON "admin_audit_log" USING btree ("target_tenant","created_at");--> statement-breakpoint
|
|
473
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_audit_action" ON "admin_audit_log" USING btree ("action","created_at");--> statement-breakpoint
|
|
474
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_users_email" ON "admin_users" USING btree ("email");--> statement-breakpoint
|
|
475
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_users_tenant" ON "admin_users" USING btree ("tenant_id");--> statement-breakpoint
|
|
476
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_users_status" ON "admin_users" USING btree ("status");--> statement-breakpoint
|
|
477
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_users_role" ON "admin_users" USING btree ("role");--> statement-breakpoint
|
|
478
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_users_created" ON "admin_users" USING btree ("created_at");--> statement-breakpoint
|
|
479
|
+
CREATE INDEX IF NOT EXISTS "idx_admin_users_last_seen" ON "admin_users" USING btree ("last_seen");--> statement-breakpoint
|
|
480
|
+
CREATE INDEX IF NOT EXISTS "idx_affiliate_ref_referrer" ON "affiliate_referrals" USING btree ("referrer_tenant_id");--> statement-breakpoint
|
|
481
|
+
CREATE INDEX IF NOT EXISTS "idx_affiliate_ref_code" ON "affiliate_referrals" USING btree ("code");--> statement-breakpoint
|
|
482
|
+
CREATE INDEX IF NOT EXISTS "idx_fraud_referrer" ON "affiliate_fraud_events" USING btree ("referrer_tenant_id");--> statement-breakpoint
|
|
483
|
+
CREATE INDEX IF NOT EXISTS "idx_fraud_referred" ON "affiliate_fraud_events" USING btree ("referred_tenant_id");--> statement-breakpoint
|
|
484
|
+
CREATE INDEX IF NOT EXISTS "idx_fraud_verdict" ON "affiliate_fraud_events" USING btree ("verdict");--> statement-breakpoint
|
|
485
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "uq_fraud_referral_phase" ON "affiliate_fraud_events" USING btree ("referral_id","phase");--> statement-breakpoint
|
|
486
|
+
CREATE INDEX IF NOT EXISTS "coupon_codes_promotion_idx" ON "coupon_codes" USING btree ("promotion_id");--> statement-breakpoint
|
|
487
|
+
CREATE INDEX IF NOT EXISTS "coupon_codes_assigned_tenant_idx" ON "coupon_codes" USING btree ("assigned_tenant_id");--> statement-breakpoint
|
|
488
|
+
CREATE INDEX IF NOT EXISTS "idx_auto_topup_tenant" ON "credit_auto_topup" USING btree ("tenant_id");--> statement-breakpoint
|
|
489
|
+
CREATE INDEX IF NOT EXISTS "idx_auto_topup_status" ON "credit_auto_topup" USING btree ("status");--> statement-breakpoint
|
|
490
|
+
CREATE INDEX IF NOT EXISTS "idx_auto_topup_created" ON "credit_auto_topup" USING btree ("created_at");--> statement-breakpoint
|
|
491
|
+
CREATE INDEX IF NOT EXISTS "idx_auto_topup_tenant_created" ON "credit_auto_topup" USING btree ("tenant_id","created_at");--> statement-breakpoint
|
|
492
|
+
CREATE INDEX IF NOT EXISTS "idx_auto_topup_settings_usage" ON "credit_auto_topup_settings" USING btree ("usage_enabled");--> statement-breakpoint
|
|
493
|
+
CREATE INDEX IF NOT EXISTS "idx_auto_topup_settings_schedule" ON "credit_auto_topup_settings" USING btree ("schedule_enabled","schedule_next_at");--> statement-breakpoint
|
|
494
|
+
CREATE INDEX IF NOT EXISTS "idx_credit_tx_tenant" ON "credit_transactions" USING btree ("tenant_id");--> statement-breakpoint
|
|
495
|
+
CREATE INDEX IF NOT EXISTS "idx_credit_tx_type" ON "credit_transactions" USING btree ("type");--> statement-breakpoint
|
|
496
|
+
CREATE INDEX IF NOT EXISTS "idx_credit_tx_ref" ON "credit_transactions" USING btree ("reference_id");--> statement-breakpoint
|
|
497
|
+
CREATE INDEX IF NOT EXISTS "idx_credit_tx_created" ON "credit_transactions" USING btree ("created_at");--> statement-breakpoint
|
|
498
|
+
CREATE INDEX IF NOT EXISTS "idx_credit_tx_tenant_created" ON "credit_transactions" USING btree ("tenant_id","created_at");--> statement-breakpoint
|
|
499
|
+
CREATE INDEX IF NOT EXISTS "idx_credit_tx_expires" ON "credit_transactions" USING btree ("expires_at");--> statement-breakpoint
|
|
500
|
+
CREATE INDEX IF NOT EXISTS "idx_credit_tx_fingerprint" ON "credit_transactions" USING btree ("stripe_fingerprint") WHERE "credit_transactions"."stripe_fingerprint" IS NOT NULL;--> statement-breakpoint
|
|
501
|
+
CREATE INDEX IF NOT EXISTS "idx_dividend_dist_tenant" ON "dividend_distributions" USING btree ("tenant_id");--> statement-breakpoint
|
|
502
|
+
CREATE INDEX IF NOT EXISTS "idx_dividend_dist_date" ON "dividend_distributions" USING btree ("date");--> statement-breakpoint
|
|
503
|
+
CREATE INDEX IF NOT EXISTS "idx_dividend_dist_tenant_date" ON "dividend_distributions" USING btree ("tenant_id","date");--> statement-breakpoint
|
|
504
|
+
CREATE INDEX IF NOT EXISTS "idx_email_notif_tenant" ON "email_notifications" USING btree ("tenant_id");--> statement-breakpoint
|
|
505
|
+
CREATE INDEX IF NOT EXISTS "idx_email_notif_type" ON "email_notifications" USING btree ("email_type");--> statement-breakpoint
|
|
506
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "idx_billing_period_unique" ON "billing_period_summaries" USING btree ("tenant","capability","provider","period_start");--> statement-breakpoint
|
|
507
|
+
CREATE INDEX IF NOT EXISTS "idx_billing_period_tenant" ON "billing_period_summaries" USING btree ("tenant","period_start");--> statement-breakpoint
|
|
508
|
+
CREATE INDEX IF NOT EXISTS "idx_billing_period_window" ON "billing_period_summaries" USING btree ("period_start","period_end");--> statement-breakpoint
|
|
509
|
+
CREATE INDEX IF NOT EXISTS "idx_meter_tenant" ON "meter_events" USING btree ("tenant");--> statement-breakpoint
|
|
510
|
+
CREATE INDEX IF NOT EXISTS "idx_meter_timestamp" ON "meter_events" USING btree ("timestamp");--> statement-breakpoint
|
|
511
|
+
CREATE INDEX IF NOT EXISTS "idx_meter_capability" ON "meter_events" USING btree ("capability");--> statement-breakpoint
|
|
512
|
+
CREATE INDEX IF NOT EXISTS "idx_meter_session" ON "meter_events" USING btree ("session_id");--> statement-breakpoint
|
|
513
|
+
CREATE INDEX IF NOT EXISTS "idx_meter_tenant_timestamp" ON "meter_events" USING btree ("tenant","timestamp");--> statement-breakpoint
|
|
514
|
+
CREATE INDEX IF NOT EXISTS "idx_meter_tier" ON "meter_events" USING btree ("tier");--> statement-breakpoint
|
|
515
|
+
CREATE INDEX IF NOT EXISTS "idx_summary_tenant" ON "usage_summaries" USING btree ("tenant","window_start");--> statement-breakpoint
|
|
516
|
+
CREATE INDEX IF NOT EXISTS "idx_summary_window" ON "usage_summaries" USING btree ("window_start","window_end");--> statement-breakpoint
|
|
517
|
+
CREATE INDEX IF NOT EXISTS "idx_notif_queue_tenant" ON "notification_queue" USING btree ("tenant_id");--> statement-breakpoint
|
|
518
|
+
CREATE INDEX IF NOT EXISTS "idx_notif_queue_status" ON "notification_queue" USING btree ("status");--> statement-breakpoint
|
|
519
|
+
CREATE INDEX IF NOT EXISTS "idx_notif_queue_type" ON "notification_queue" USING btree ("email_type");--> statement-breakpoint
|
|
520
|
+
CREATE INDEX IF NOT EXISTS "idx_notif_queue_retry" ON "notification_queue" USING btree ("status","retry_after");--> statement-breakpoint
|
|
521
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "idx_org_memberships_member_unique" ON "org_memberships" USING btree ("member_tenant_id");--> statement-breakpoint
|
|
522
|
+
CREATE INDEX IF NOT EXISTS "idx_org_memberships_org" ON "org_memberships" USING btree ("org_tenant_id");--> statement-breakpoint
|
|
523
|
+
CREATE INDEX IF NOT EXISTS "idx_org_invites_org_id" ON "organization_invites" USING btree ("org_id");--> statement-breakpoint
|
|
524
|
+
CREATE INDEX IF NOT EXISTS "idx_org_invites_token" ON "organization_invites" USING btree ("token");--> statement-breakpoint
|
|
525
|
+
CREATE INDEX IF NOT EXISTS "idx_org_members_org_id" ON "organization_members" USING btree ("org_id");--> statement-breakpoint
|
|
526
|
+
CREATE INDEX IF NOT EXISTS "idx_org_members_user_id" ON "organization_members" USING btree ("user_id");--> statement-breakpoint
|
|
527
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "org_members_org_user_unique" ON "organization_members" USING btree ("org_id","user_id");--> statement-breakpoint
|
|
528
|
+
CREATE INDEX IF NOT EXISTS "idx_payram_charges_tenant" ON "payram_charges" USING btree ("tenant_id");--> statement-breakpoint
|
|
529
|
+
CREATE INDEX IF NOT EXISTS "idx_payram_charges_status" ON "payram_charges" USING btree ("status");--> statement-breakpoint
|
|
530
|
+
CREATE INDEX IF NOT EXISTS "idx_payram_charges_created" ON "payram_charges" USING btree ("created_at");--> statement-breakpoint
|
|
531
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "idx_platform_api_keys_hash" ON "platform_api_keys" USING btree ("key_hash");--> statement-breakpoint
|
|
532
|
+
CREATE INDEX IF NOT EXISTS "idx_platform_api_keys_user" ON "platform_api_keys" USING btree ("user_id");--> statement-breakpoint
|
|
533
|
+
CREATE INDEX IF NOT EXISTS "promotion_redemptions_promotion_idx" ON "promotion_redemptions" USING btree ("promotion_id");--> statement-breakpoint
|
|
534
|
+
CREATE INDEX IF NOT EXISTS "promotion_redemptions_tenant_idx" ON "promotion_redemptions" USING btree ("tenant_id");--> statement-breakpoint
|
|
535
|
+
CREATE INDEX IF NOT EXISTS "promotions_status_idx" ON "promotions" USING btree ("status");--> statement-breakpoint
|
|
536
|
+
CREATE INDEX IF NOT EXISTS "promotions_coupon_code_idx" ON "promotions" USING btree ("coupon_code");--> statement-breakpoint
|
|
537
|
+
CREATE INDEX IF NOT EXISTS "idx_provider_creds_provider" ON "provider_credentials" USING btree ("provider");--> statement-breakpoint
|
|
538
|
+
CREATE INDEX IF NOT EXISTS "idx_provider_creds_active" ON "provider_credentials" USING btree ("provider","is_active");--> statement-breakpoint
|
|
539
|
+
CREATE INDEX IF NOT EXISTS "idx_provider_creds_created_by" ON "provider_credentials" USING btree ("created_by");--> statement-breakpoint
|
|
540
|
+
CREATE INDEX IF NOT EXISTS "idx_rate_limit_window" ON "rate_limit_entries" USING btree ("window_start");--> statement-breakpoint
|
|
541
|
+
CREATE INDEX IF NOT EXISTS "idx_secret_audit_credential" ON "secret_audit_log" USING btree ("credential_id","accessed_at");--> statement-breakpoint
|
|
542
|
+
CREATE INDEX IF NOT EXISTS "idx_secret_audit_accessed_by" ON "secret_audit_log" USING btree ("accessed_by");--> statement-breakpoint
|
|
543
|
+
CREATE INDEX IF NOT EXISTS "idx_session_usage_session" ON "session_usage" USING btree ("session_id");--> statement-breakpoint
|
|
544
|
+
CREATE INDEX IF NOT EXISTS "idx_session_usage_user" ON "session_usage" USING btree ("user_id");--> statement-breakpoint
|
|
545
|
+
CREATE INDEX IF NOT EXISTS "idx_session_usage_created" ON "session_usage" USING btree ("created_at");--> statement-breakpoint
|
|
546
|
+
CREATE INDEX IF NOT EXISTS "idx_session_usage_page" ON "session_usage" USING btree ("page");--> statement-breakpoint
|
|
547
|
+
CREATE INDEX IF NOT EXISTS "idx_tenant_addons_tenant" ON "tenant_addons" USING btree ("tenant_id");--> statement-breakpoint
|
|
548
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "idx_tenant_keys_tenant_provider" ON "tenant_api_keys" USING btree ("tenant_id","provider");--> statement-breakpoint
|
|
549
|
+
CREATE INDEX IF NOT EXISTS "idx_tenant_keys_tenant" ON "tenant_api_keys" USING btree ("tenant_id");--> statement-breakpoint
|
|
550
|
+
CREATE INDEX IF NOT EXISTS "idx_tenant_keys_provider" ON "tenant_api_keys" USING btree ("provider");--> statement-breakpoint
|
|
551
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "idx_stripe_usage_unique" ON "stripe_usage_reports" USING btree ("tenant","capability","provider","period_start");--> statement-breakpoint
|
|
552
|
+
CREATE INDEX IF NOT EXISTS "idx_stripe_usage_tenant" ON "stripe_usage_reports" USING btree ("tenant","reported_at");--> statement-breakpoint
|
|
553
|
+
CREATE INDEX IF NOT EXISTS "idx_tenant_customers_processor" ON "tenant_customers" USING btree ("processor_customer_id");--> statement-breakpoint
|
|
554
|
+
CREATE INDEX IF NOT EXISTS "idx_tenants_slug" ON "tenants" USING btree ("slug");--> statement-breakpoint
|
|
555
|
+
CREATE INDEX IF NOT EXISTS "idx_tenants_owner" ON "tenants" USING btree ("owner_id");--> statement-breakpoint
|
|
556
|
+
CREATE INDEX IF NOT EXISTS "idx_tenants_type" ON "tenants" USING btree ("type");--> statement-breakpoint
|
|
557
|
+
CREATE INDEX IF NOT EXISTS "idx_user_roles_tenant" ON "user_roles" USING btree ("tenant_id");--> statement-breakpoint
|
|
558
|
+
CREATE INDEX IF NOT EXISTS "idx_user_roles_role" ON "user_roles" USING btree ("role");--> statement-breakpoint
|
|
559
|
+
CREATE INDEX IF NOT EXISTS "idx_webhook_seen_expires" ON "webhook_seen_events" USING btree ("seen_at");
|