chore(db): add query indexes migration and update project config
- Add database migration for missing query indexes on frequently filtered columns - Update Prisma schema - Update .env.example, eslint config, and dependency-cruiser config Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -56,11 +56,14 @@ model User {
|
||||
oauthAccounts OAuthAccount[]
|
||||
buyerTransactions Transaction[] @relation("BuyerTransactions")
|
||||
|
||||
@@index([phone])
|
||||
@@index([role])
|
||||
@@index([kycStatus])
|
||||
@@index([isActive])
|
||||
@@index([createdAt])
|
||||
|
||||
// --- Compound indexes (query optimization) ---
|
||||
@@index([role, isActive, createdAt(sort: Desc)])
|
||||
@@index([kycStatus, createdAt])
|
||||
}
|
||||
|
||||
enum OAuthProvider {
|
||||
@@ -265,6 +268,7 @@ model Listing {
|
||||
@@index([status, createdAt(sort: Desc)])
|
||||
@@index([status, publishedAt(sort: Desc)])
|
||||
@@index([transactionType, status, createdAt(sort: Desc)])
|
||||
@@index([status, transactionType, priceVND])
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
@@ -410,6 +414,10 @@ model Payment {
|
||||
@@index([status])
|
||||
@@index([providerTxId])
|
||||
@@index([createdAt])
|
||||
|
||||
// --- Compound indexes (query optimization) ---
|
||||
@@index([userId, status, createdAt(sort: Desc)])
|
||||
@@index([userId, type, createdAt(sort: Desc)])
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
@@ -494,6 +502,7 @@ model Valuation {
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@index([propertyId])
|
||||
@@index([propertyId, createdAt(sort: Desc)])
|
||||
}
|
||||
|
||||
model MarketIndex {
|
||||
@@ -552,6 +561,7 @@ model NotificationLog {
|
||||
@@index([templateKey])
|
||||
@@index([createdAt])
|
||||
@@index([userId, readAt])
|
||||
@@index([userId, createdAt(sort: Desc)])
|
||||
}
|
||||
|
||||
model NotificationPreference {
|
||||
@@ -583,4 +593,5 @@ model Review {
|
||||
|
||||
@@index([targetType, targetId])
|
||||
@@index([userId])
|
||||
@@index([targetType, targetId, createdAt(sort: Desc)])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user