import { readFileSync } from 'node:fs'; import { createHash } from 'node:crypto'; import { resolve } from 'node:path'; import { describe, it, expect } from 'vitest'; const EXPECTED_0001_SHA256 = '34f092b4bb8544a48acfee0fad08d51b1b75fedf4ffdfbcb790d2656d0f1d57a'; describe('migrations byte stability', () => { it('0001_init.sql sha256 is frozen — edit means new migration, not edit-in-place', () => { const body = readFileSync( resolve(import.meta.dirname, '..', '..', 'src', 'db', 'migrations', '0001_init.sql'), 'utf8', ); const actual = createHash('sha256').update(body).digest('hex'); expect(actual).toBe(EXPECTED_0001_SHA256); }); });