25 lines
1.1 KiB
Plaintext
25 lines
1.1 KiB
Plaintext
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")
|
|
}
|