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() } })