---
title: "Create and Execute Database Migration"
method: POST
path: "/api/database/migrations"
tags: ["Admin"]
---

# Create and Execute Database Migration

`POST /api/database/migrations`

## Request body

- object
  - `version` string, required — Numeric migration version. Accepts Drizzle-style sequential prefixes (e.g. `0001`) or a `YYYYMMDDHHmmss` timestamp. Versions are compared numerically.
  - `name` string, required — Migration name
  - `sql` string, required — SQL text to parse and execute immediately

## Response `201`

Migration executed and recorded successfully

- object
  - `version` string, required
  - `name` string, required
  - `statements` string[], required
  - `createdAt` string, date-time, required
  - `message` string, required

## Other responses

- `400` — Invalid migration
- `409` — Migration version already exists or is not newer than the latest applied migration

---

[API](https://skmtc.net/insforge/apis/insforge-authentication-api.md) · [All operations](https://skmtc.net/insforge/apis/insforge-authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/insforge/insforge-authentication-api/versions/a935bb49f932/schema)
