Hooks

Use lifecycle hooks to perform actions during the NuxtHub lifecycle.

Nuxt Hooks

'hub:database:migrations:dirs'
(dirs: string[]) => void | Promise<void>
Add additional directories to scan for database migration files (.sql).
'hub:database:queries:paths'
(queries: string[]) => void | Promise<void>
Add queries that are not tracked in the _hub_migrations table which are applied after the database migrations complete.

Usage

You can hook into the NuxtHub lifecycle using Nuxt hooks:

nuxt.config.ts
export default defineNuxtConfig({
  hooks: {
    'hub:database:migrations:dirs': (dirs) => {
      dirs.push('my-module/database/migrations')
    }
  }
})
modules/my-module/index.ts
export default defineNuxtModule({
  setup(options, nuxt) {
    nuxt.hook('hub:database:migrations:dirs', (dirs) => {
      dirs.push('my-module/database/migrations')
    })
  }
})

Server Hooks

'hub:database:migrations:done'
() => void
Called when the database migrations are completed.

Usage

You can hook into the NuxtHub lifecycle using Nitro hooks:

server/plugins/hub.ts
export default defineNitroPlugin((nitroApp) => {
  nitroApp.hooks.hook('database:migrations:done', () => {
    console.log('Database migrations are done!')
  })
})

Learn more about Nuxt server hooks on the Nuxt documentation.