fix(db): add locale repair migration hygiene guard

This commit is contained in:
2026-03-09 15:54:50 +04:00
parent 2d8e0491cc
commit 63a2677601
7 changed files with 113 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import { createHash } from 'node:crypto'
import { readdir, readFile, writeFile } from 'node:fs/promises'
import path from 'node:path'
const rootDir = process.cwd()
const migrationDir = path.join(rootDir, 'packages', 'db', 'drizzle')
const manifestPath = path.join(rootDir, 'packages', 'db', 'drizzle-checksums.json')
function sha256(input: string): string {
return createHash('sha256').update(input).digest('hex')
}
const files = (await readdir(migrationDir)).filter((entry) => entry.endsWith('.sql')).sort()
const manifest = {
algorithm: 'sha256',
files: {} as Record<string, string>
}
for (const file of files) {
const sql = await readFile(path.join(migrationDir, file), 'utf8')
manifest.files[file] = sha256(sql)
}
await writeFile(`${manifestPath}`, `${JSON.stringify(manifest, null, 2)}\n`)
console.log(`Wrote checksums for ${files.length} migrations`)