Files
speckle-server/packages/server/modules/core/migrations
2025-08-28 10:02:53 +02:00
..

Migrations, and how to create them

First, make a new migration file in the appropriate migrations folder. To do this use ./bin/cli.

Next, write your migration! Here's an example below that adds a new column to a table.

/* istanbul ignore file */
const up = async (knex) => {
  await knex.schema.alterTable('scopes', (table) => {
    table.boolean('public').defaultTo(true)
  })
}

const down = async (knex) => {
  let hasColumn = await knex.schema.hasColumn('scopes', 'public')
  if (hasColumn) {
    await knex.schema.alterTable('scopes', (table) => {
      table.dropColumn('public')
    })
  }
}

export { up, down }

Notes:

  • Do not delete or edit existing migration files
  • To edit an existing table, use alter table in a new migration file.
  • Always prefix your migration file with the date that you authored it in.