model CommerceEvent { id String @id @default(uuid()) @db.Uuid organizationId String @map("organization_id") @db.Uuid orderId String @map("order_id") @db.Uuid kind String @db.VarChar(80) createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(3) order Order @relation(fields: [orderId, organizationId], references: [id, organizationId], onDelete: Restrict) delivery EventDelivery? @@unique([orderId, kind]) @@index([organizationId, createdAt, id]) @@map("commerce_events") } model EventDelivery { eventId String @id @map("event_id") @db.Uuid attempts Int @default(0) availableAt DateTime @default(now()) @map("available_at") @db.Timestamptz(3) leaseToken String? @map("lease_token") @db.Uuid leaseExpiresAt DateTime? @map("lease_expires_at") @db.Timestamptz(3) deliveredAt DateTime? @map("delivered_at") @db.Timestamptz(3) lastErrorCode String? @map("last_error_code") @db.VarChar(80) event CommerceEvent @relation(fields: [eventId], references: [id], onDelete: Restrict) @@index([deliveredAt, availableAt, leaseExpiresAt]) @@map("event_deliveries") }