fieldlens-deploy/scripts/validate-migrations.mjs
Admin 921d7b63eb
Some checks failed
CI / verify (push) Has been cancelled
mirror: fieldlens d38e0922441a (2/2)
2026-09-23 01:14:37 +00:00

18 lines
615 B
JavaScript

import { readdir, readFile } from 'node:fs/promises'
const files = (await readdir(new URL('../migrations/', import.meta.url)))
.filter((name) => /^\d{3}_.+\.sql$/.test(name))
.sort()
if (files.length === 0) throw new Error('No migrations found')
for (const file of files) {
const sql = await readFile(new URL(`../migrations/${file}`, import.meta.url), 'utf8')
if (!sql.trim()) throw new Error(`${file} is empty`)
if (/\bDROP\s+(DATABASE|SCHEMA)\b/i.test(sql)) {
throw new Error(`${file} contains destructive database/schema DDL`)
}
}
console.log(JSON.stringify({ ok: true, migrations: files }))