add IDX_instance_host_key
This commit is contained in:
@@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
*/
|
||||||
|
|
||||||
|
export class IndexIDXInstanceHostKey1748104955717 {
|
||||||
|
name = 'IndexIDXInstanceHostKey1748104955717'
|
||||||
|
|
||||||
|
async up(queryRunner) {
|
||||||
|
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_instance_host_key" ON "instance" (((lower(reverse("host")) || '.')::text) text_pattern_ops)`);
|
||||||
|
|
||||||
|
// Flush all cached Linear Scan Plans and redo statistics for expression index
|
||||||
|
// this is important for Postgres to learn that even in highly complex queries, using this index first can reduce the result set significantly
|
||||||
|
await queryRunner.query(`ANALYZE "instance"`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async down(queryRunner) {
|
||||||
|
await queryRunner.query(`DROP INDEX "IDX_instance_host_key"`);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
|
import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
|
||||||
import { id } from './util/id.js';
|
import { id } from './util/id.js';
|
||||||
|
|
||||||
|
@Index('IDX_instance_host_key', { synchronize: false })
|
||||||
@Entity('instance')
|
@Entity('instance')
|
||||||
export class MiInstance {
|
export class MiInstance {
|
||||||
@PrimaryColumn(id())
|
@PrimaryColumn(id())
|
||||||
|
|||||||
Reference in New Issue
Block a user