Files
BRETT/server/plugins/migrate.ts
T
2026-10-03 20:07:49 +02:00

23 lines
719 B
TypeScript

import { drizzle } from 'drizzle-orm/mysql2'
import { migrate } from 'drizzle-orm/mysql2/migrator'
import mysql from 'mysql2/promise'
import { seedPermissions } from '../../shared/utils/permissions'
export default defineNitroPlugin(async () => {
if (!import.meta.dev) return
const { databaseUrl } = useRuntimeConfig()
if (!databaseUrl) {
console.warn('[db] DATABASE_URL is not set, skipping migrations')
return
}
const connection = await mysql.createConnection(databaseUrl)
try {
await migrate(drizzle(connection), { migrationsFolder: './server/db/migrations' })
await seedPermissions(connection)
console.log('[db] migrations applied')
}
finally {
await connection.end()
}
})