From 1ccd684bdc6362891e7e6ad03d6399dcb767efaf Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Thu, 22 Feb 2024 20:03:41 +0100 Subject: [PATCH] Add missing database indexes --- package.json | 2 +- .../migration.sql | 27 +++++++++++++++++++ prisma/schema.prisma | 12 +++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) rename prisma/migrations/{20240221201438_add_missing_indexes => 20240221201438_added_missing_indexes}/migration.sql (69%) diff --git a/package.json b/package.json index e06f09156..cb34bddd3 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "database:push": "prisma db push", "database:seed": "prisma db seed", "database:setup": "yarn database:push && yarn database:seed", - "database:validate": "prisma validate", + "database:validate-schema": "prisma validate", "dep-graph": "nx dep-graph", "e2e": "ng e2e", "extract-locales": "nx run client:extract-i18n --output-path ./apps/client/src/locales", diff --git a/prisma/migrations/20240221201438_add_missing_indexes/migration.sql b/prisma/migrations/20240221201438_added_missing_indexes/migration.sql similarity index 69% rename from prisma/migrations/20240221201438_add_missing_indexes/migration.sql rename to prisma/migrations/20240221201438_added_missing_indexes/migration.sql index 82875be98..7de6885bd 100644 --- a/prisma/migrations/20240221201438_add_missing_indexes/migration.sql +++ b/prisma/migrations/20240221201438_added_missing_indexes/migration.sql @@ -1,3 +1,6 @@ +-- CreateIndex +CREATE INDEX "Access_alias_idx" ON "Access"("alias"); + -- CreateIndex CREATE INDEX "Access_granteeUserId_idx" ON "Access"("granteeUserId"); @@ -7,30 +10,51 @@ CREATE INDEX "Access_userId_idx" ON "Access"("userId"); -- CreateIndex CREATE INDEX "Account_currency_idx" ON "Account"("currency"); +-- CreateIndex +CREATE INDEX "Account_name_idx" ON "Account"("name"); + -- CreateIndex CREATE INDEX "Account_userId_idx" ON "Account"("userId"); -- CreateIndex CREATE INDEX "AccountBalance_accountId_idx" ON "AccountBalance"("accountId"); +-- CreateIndex +CREATE INDEX "AccountBalance_date_idx" ON "AccountBalance"("date"); + +-- CreateIndex +CREATE INDEX "Analytics_updatedAt_idx" ON "Analytics"("updatedAt"); + -- CreateIndex CREATE INDEX "AuthDevice_userId_idx" ON "AuthDevice"("userId"); +-- CreateIndex +CREATE INDEX "MarketData_marketPrice_idx" ON "MarketData"("marketPrice"); + -- CreateIndex CREATE INDEX "MarketData_state_idx" ON "MarketData"("state"); +-- CreateIndex +CREATE INDEX "Order_date_idx" ON "Order"("date"); + -- CreateIndex CREATE INDEX "Order_isDraft_idx" ON "Order"("isDraft"); -- CreateIndex CREATE INDEX "Order_userId_idx" ON "Order"("userId"); +-- CreateIndex +CREATE INDEX "Platform_name_idx" ON "Platform"("name"); + -- CreateIndex CREATE INDEX "Subscription_userId_idx" ON "Subscription"("userId"); -- CreateIndex CREATE INDEX "SymbolProfile_assetClass_idx" ON "SymbolProfile"("assetClass"); +-- CreateIndex +CREATE INDEX "SymbolProfile_currency_idx" ON "SymbolProfile"("currency"); + -- CreateIndex CREATE INDEX "SymbolProfile_dataSource_idx" ON "SymbolProfile"("dataSource"); @@ -43,6 +67,9 @@ CREATE INDEX "SymbolProfile_name_idx" ON "SymbolProfile"("name"); -- CreateIndex CREATE INDEX "SymbolProfile_symbol_idx" ON "SymbolProfile"("symbol"); +-- CreateIndex +CREATE INDEX "Tag_name_idx" ON "Tag"("name"); + -- CreateIndex CREATE INDEX "User_accessToken_idx" ON "User"("accessToken"); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index b8c259ac3..4457254ba 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -20,6 +20,7 @@ model Access { GranteeUser User? @relation("accessGet", fields: [granteeUserId], references: [id]) User User @relation("accessGive", fields: [userId], references: [id]) + @@index([alias]) @@index([granteeUserId]) @@index([userId]) } @@ -44,6 +45,7 @@ model Account { @@id([id, userId]) @@index([currency]) @@index([id]) + @@index([name]) @@index([userId]) } @@ -58,6 +60,7 @@ model AccountBalance { Account Account @relation(fields: [accountId, userId], onDelete: Cascade, references: [id, userId]) @@index([accountId]) + @@index([date]) } model Analytics { @@ -66,6 +69,8 @@ model Analytics { updatedAt DateTime @updatedAt userId String @id User User @relation(fields: [userId], references: [id]) + + @@index([updatedAt]) } model AuthDevice { @@ -93,6 +98,7 @@ model MarketData { @@unique([dataSource, date, symbol]) @@index([dataSource]) @@index([date]) + @@index([marketPrice]) @@index([state]) @@index([symbol]) } @@ -118,6 +124,7 @@ model Order { tags Tag[] @@index([accountId]) + @@index([date]) @@index([isDraft]) @@index([userId]) } @@ -127,6 +134,8 @@ model Platform { name String? url String @unique Account Account[] + + @@index([name]) } model Property { @@ -166,6 +175,7 @@ model SymbolProfile { @@unique([dataSource, symbol]) @@index([assetClass]) + @@index([currency]) @@index([dataSource]) @@index([isin]) @@index([name]) @@ -200,6 +210,8 @@ model Tag { id String @id @default(uuid()) name String @unique orders Order[] + + @@index([name]) } model User {