Skip to content
This repository was archived by the owner on Apr 9, 2025. It is now read-only.
/ api Public archive

Commit dfc5ee0

Browse files
committed
better indexes
1 parent 44294d9 commit dfc5ee0

File tree

7 files changed

+1989
-33
lines changed

7 files changed

+1989
-33
lines changed

database/drizzle.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ export default defineConfig({
66
schema: './src/schema.ts',
77
out: '../migrations',
88
dbCredentials: {
9-
url: filesystem.env('../.env', { async: false }).DATABASE_URL_PRIMARY ?? filesystem.env('.env', { async: false }).DATABASE_URL
9+
url: filesystem.env('../.env', { async: false }).DATABASE_URL_PRIMARY ?? filesystem.env('../.env', { async: false }).DATABASE_URL
1010
}
1111
})

database/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313
"dependencies": {
1414
"@rjweb/utils": "^1.12.28",
1515
"ansi-colors": "^4.1.3",
16-
"drizzle-orm": "^0.40.0",
16+
"drizzle-orm": "^0.41.0",
1717
"js-yaml": "^4.1.0",
1818
"module-alias": "^2.2.3",
19-
"pg": "^8.13.3",
19+
"pg": "^8.14.1",
2020
"zod": "^3.24.2"
2121
},
2222
"devDependencies": {
2323
"@types/js-yaml": "^4.0.9",
24-
"@types/node": "^22.13.10",
24+
"@types/node": "^22.13.13",
2525
"@types/pg": "^8.11.11",
2626
"drizzle-kit": "^0.30.5",
2727
"esbuild": "^0.25.1",

database/pnpm-lock.yaml

Lines changed: 27 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

database/src/schema.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ export const requests = pgTable('requests', {
172172
index('requests_path_idx').on(requests.path),
173173
index('requests_continent_idx').on(requests.continent).where(isNotNull(requests.continent)),
174174
index('requests_country_idx').on(requests.country).where(isNotNull(requests.country)),
175-
index('requests_data_idx').on(requests.data).where(isNotNull(requests.data)),
176-
index('requests_created_idx').on(requests.created)
175+
index('requests_data_idx').using('gin', requests.data).where(isNotNull(requests.data)),
176+
index('requests_created_idx').using('brin', requests.created)
177177
])
178178

179179
export const minecraftVersions = pgTable('minecraft_versions', {
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
DROP INDEX "organizationKeys_key_idx";--> statement-breakpoint
2+
DROP INDEX "requests_data_idx";--> statement-breakpoint
3+
DROP INDEX "requests_created_idx";--> statement-breakpoint
4+
ALTER TABLE "user_sessions" ADD COLUMN "ip" "inet" NOT NULL;--> statement-breakpoint
5+
ALTER TABLE "user_sessions" ADD COLUMN "user_agent" varchar(255) NOT NULL;--> statement-breakpoint
6+
CREATE UNIQUE INDEX "organizationKeys_organization_name_idx" ON "organization_keys" USING btree ("organization_id","name");--> statement-breakpoint
7+
CREATE INDEX "requests_data_idx" ON "requests" USING gin ("data") WHERE "requests"."data" is not null;--> statement-breakpoint
8+
CREATE INDEX "requests_created_idx" ON "requests" USING brin ("created");--> statement-breakpoint
9+
ALTER TABLE "organization_keys" ADD CONSTRAINT "organization_keys_key_unique" UNIQUE("key");--> statement-breakpoint
10+
CREATE INDEX IF NOT EXISTS idx_requests_lookup_type
11+
ON requests ((data->'build'->>'type'), (data->>'type'))
12+
WHERE data->>'type' = 'lookup';--> statement-breakpoint
13+
CREATE INDEX IF NOT EXISTS idx_requests_lookup_versionid
14+
ON requests ((data->'build'->>'versionId'), (data->>'type'))
15+
WHERE data->>'type' = 'lookup';--> statement-breakpoint
16+
CREATE INDEX IF NOT EXISTS idx_requests_lookup_id
17+
ON requests ((data->'build'->>'id'), (data->>'type'))
18+
WHERE data->>'type' = 'lookup' AND data->'build'->>'type' = '$1';

0 commit comments

Comments
 (0)