The judge's fake rule reads all of it every round: 17-18 min on the HDD, ~3 on the NVMe. Migration 4600 is a no-op now; 4800 moves it back where 4600 ran. Homelab moved it by hand; a no-op there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import { BaseSchema } from '@adonisjs/lucid/schema'
|
||
|
||
/**
|
||
* release_inspections back in the catalog's tablespace (default_tablespace: nvme on homelab), where migration 4600 had
|
||
* moved it to the HDD: the judge's fake rule reads all of it every round, 17–18 min on the HDD, ~3 on the NVMe (LOG.md
|
||
* 2026-10-19 (81)). Homelab moved it by hand (prober, merger and judge stopped); a no-op where it's there already, or
|
||
* without a default tablespace (tests).
|
||
*/
|
||
export default class extends BaseSchema {
|
||
async up() {
|
||
this.defer(async (db) => {
|
||
const { rows: setting } = await db.rawQuery(`SELECT current_setting('default_tablespace') AS target`)
|
||
const target = setting[0].target
|
||
if (!target) return
|
||
const { rows } = await db.rawQuery(
|
||
`SELECT 1 FROM pg_class c LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
|
||
WHERE c.relname = 'release_inspections' AND c.relkind = 'r' AND coalesce(t.spcname, 'pg_default') <> ?`,
|
||
[target]
|
||
)
|
||
if (rows.length > 0) await db.rawQuery(`ALTER TABLE release_inspections SET TABLESPACE ${target}`)
|
||
})
|
||
}
|
||
|
||
async down() {}
|
||
}
|