Files
luzzle/packages/web/db/scripts/generate-migrations.js
eleith f4d032ee5d
ci/woodpecker/push/web-db Pipeline was successful
ci/woodpecker/push/web-explorer Pipeline was successful
ci/woodpecker/push/web-worker Pipeline was successful
[web.db] move migrations to import provider, file provider does not survive packaging
2026-05-26 06:39:08 -07:00

27 lines
823 B
JavaScript

import { readdirSync, writeFileSync } from 'node:fs'
import { join } from 'node:path'
const migrationsDir = join(import.meta.dirname, '../src/migrations')
const outFile = join(migrationsDir, 'index.ts')
const files = readdirSync(migrationsDir)
.filter((f) => f.endsWith('.ts') && f !== 'index.ts')
.sort()
const imports = files.map((f, i) => `import * as m${i} from './${f.replace('.ts', '')}.js'`).join('\n')
const entries = files.map((f, i) => `\t'${f.replace('.ts', '')}': m${i}`).join(',\n')
const content = `// Auto-generated by scripts/generate-migrations.js — do not edit
import type { Migration } from 'kysely'
${imports}
export const migrations: Record<string, Migration> = {
${entries}
}
`
writeFileSync(outFile, content)
console.log(`Generated ${files.length} migrations in src/migrations/index.ts`)