diff --git a/.changeset/purple-dryers-develop.md b/.changeset/purple-dryers-develop.md new file mode 100644 index 0000000000..cf640e5700 --- /dev/null +++ b/.changeset/purple-dryers-develop.md @@ -0,0 +1,5 @@ +--- +'hive': patch +--- + +Added missing index for postgres db field "schema_versions.target_id" sorted with "created_at" \ No newline at end of file diff --git a/packages/migrations/src/actions/2025.02.27T00-00-00.improve-version-index-3.ts b/packages/migrations/src/actions/2025.02.27T00-00-00.improve-version-index-3.ts new file mode 100644 index 0000000000..c5c502d50b --- /dev/null +++ b/packages/migrations/src/actions/2025.02.27T00-00-00.improve-version-index-3.ts @@ -0,0 +1,12 @@ +import { type MigrationExecutor } from '../pg-migrator'; + +export default { + name: '2025.02.27T00-00-00.improve-version-index-3.ts', + noTransaction: true, + run: ({ sql }) => [ + { + name: `create "schema_versions"."target_id" with "created_at" sort index`, + query: sql`CREATE INDEX CONCURRENTLY idx_maybe_latest_version_id ON schema_versions(target_id, created_at DESC);`, + }, + ], +} satisfies MigrationExecutor; diff --git a/packages/migrations/src/run-pg-migrations.ts b/packages/migrations/src/run-pg-migrations.ts index 0eb3dbd60e..bb2239f218 100644 --- a/packages/migrations/src/run-pg-migrations.ts +++ b/packages/migrations/src/run-pg-migrations.ts @@ -159,5 +159,6 @@ export const runPGMigrations = async (args: { slonik: DatabasePool; runTo?: stri await import('./actions/2025.01.20T00-00-00.legacy-registry-model-removal'), await import('./actions/2025.01.30T00-00-00.granular-member-role-permissions'), await import('./actions/2025.02.20T00-00-00.organization-access-tokens'), + await import('./actions/2025.02.27T00-00-00.improve-version-index-3'), ], });