vk migrate
vk migrate <subcommand> [options]VentureKit uses Drizzle Kit as its standard migration tool — type-safe schema, generates plain SQL migrations, zero runtime overhead.
Subcommands
Section titled “Subcommands”vk migrate generate
Section titled “vk migrate generate”Generate migration SQL files from schema changes.
vk migrate generatevk migrate generate --name initvk migrate generate --config custom-drizzle.config.ts| Option | Description | Default |
|---|---|---|
-c, --config <path> | Drizzle config file | drizzle.config.ts |
--name <name> | Migration name | auto-generated |
vk migrate up
Section titled “vk migrate up”Apply pending migrations to the database.
vk migrate upvk migrate up --env prod| Option | Description | Default |
|---|---|---|
-c, --config <path> | Drizzle config file | drizzle.config.ts |
-e, --env <env> | Target environment | dev |
vk migrate drop
Section titled “vk migrate drop”Drop a migration file.
vk migrate drop| Option | Description | Default |
|---|---|---|
-c, --config <path> | Drizzle config file | drizzle.config.ts |
vk migrate status
Section titled “vk migrate status”Check which migrations have been applied.
vk migrate statusvk migrate status --env prod| Option | Description | Default |
|---|---|---|
-c, --config <path> | Drizzle config file | drizzle.config.ts |
-e, --env <env> | Target environment | dev |
vk migrate push
Section titled “vk migrate push”Push schema directly to the database without generating migration files. Dev only.
vk migrate push| Option | Description | Default |
|---|---|---|
-c, --config <path> | Drizzle config file | drizzle.config.ts |
-e, --env <env> | Target environment | dev |
vk migrate studio
Section titled “vk migrate studio”Open Drizzle Studio — a visual database GUI.
vk migrate studio| Option | Description | Default |
|---|---|---|
-c, --config <path> | Drizzle config file | drizzle.config.ts |
Auto-Scaffolding
Section titled “Auto-Scaffolding”If no drizzle.config.ts exists when you run any vk migrate command, the CLI automatically creates one along with a starter schema file:
Generated drizzle.config.ts:
import { defineConfig } from 'drizzle-kit';
export default defineConfig({ dialect: 'postgresql', schema: './src/db/schema.ts', out: './migrations', dbCredentials: { url: process.env.DATABASE_URL!, },});Environment Variables
Section titled “Environment Variables”| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string |
VENTURE_STAGE | Environment name (set by --env flag) |
Prerequisites
Section titled “Prerequisites”Drizzle Kit must be installed as a dev dependency:
npm install -D drizzle-kit drizzle-orm