Skip to main content
zerotal

Documentation


Documentation / @zerotal/orm / commands / MigrateGenerateCommand

Class: MigrateGenerateCommand

Defined in: packages/orm/src/commands/MigrateGenerateCommand.ts:39

Auto-generates a migration from model schema changes (bun zt migrate:generate).

Loads the model files matching the --models glob, diffs their @column() schemas against the live database, and writes a numbered migration under database/migrations/ describing the new tables and columns. Reports "No schema changes detected" when the models and database already agree.

Example

bun zt migrate:generate create_posts_table
bun zt migrate:generate add_slug_to_posts --models "app/models/**/*.ts"

Extends

Constructors

Constructor

new MigrateGenerateCommand(): MigrateGenerateCommand

Returns

MigrateGenerateCommand

Inherited from

Command.constructor

Properties

_writer

_writer: OutputWriter

Defined in: packages/core/src/command/Command.ts:71

Output destination. Replaced with BufferWriter by Artisan.call().

Inherited from

Command._writer


args

args: Record<string, string> = {}

Defined in: packages/core/src/command/Command.ts:74

Parsed positional arguments — set by CommandRunner before run().

Inherited from

Command.args


flags

flags: Record<string, string | boolean | number> = {}

Defined in: packages/core/src/command/Command.ts:76

Parsed flags — set by CommandRunner before run().

Inherited from

Command.flags


app

app: unknown = undefined

Defined in: packages/core/src/command/Command.ts:78

Application instance — set by CommandRunner when needsApp is true.

Inherited from

Command.app


commandName

static commandName: string = "migrate:generate"

Defined in: packages/orm/src/commands/MigrateGenerateCommand.ts:40

Overrides

Command.commandName


description

static description: string = "Auto-generate a migration from model schema changes"

Defined in: packages/orm/src/commands/MigrateGenerateCommand.ts:41

Overrides

Command.description


needsApp

static needsApp: boolean = false

Defined in: packages/orm/src/commands/MigrateGenerateCommand.ts:42

Overrides

Command.needsApp


args

static args: object[]

Defined in: packages/orm/src/commands/MigrateGenerateCommand.ts:44

name

name: string = "name"

required

required: boolean = true

description

description: string = "Migration name (e.g. create_posts_table)"

Overrides

Command.args


flags

static flags: object[]

Defined in: packages/orm/src/commands/MigrateGenerateCommand.ts:52

name

name: string = "models"

type

type: "string"

description

description: string = "Glob pattern for model files to inspect"

default

default: string = "app/models/**/*.ts"

Overrides

Command.flags

Methods

info()

info(msg): void

Defined in: packages/core/src/command/Command.ts:82

Parameters

msg

string

Returns

void

Inherited from

Command.info


error()

error(msg): void

Defined in: packages/core/src/command/Command.ts:85

Parameters

msg

string

Returns

void

Inherited from

Command.error


warn()

warn(msg): void

Defined in: packages/core/src/command/Command.ts:88

Parameters

msg

string

Returns

void

Inherited from

Command.warn


line()

line(msg): void

Defined in: packages/core/src/command/Command.ts:91

Parameters

msg

string

Returns

void

Inherited from

Command.line


dim()

dim(msg): void

Defined in: packages/core/src/command/Command.ts:94

Parameters

msg

string

Returns

void

Inherited from

Command.dim


write()

write(msg): void

Defined in: packages/core/src/command/Command.ts:97

Parameters

msg

string

Returns

void

Inherited from

Command.write


newLine()

newLine(): void

Defined in: packages/core/src/command/Command.ts:100

Returns

void

Inherited from

Command.newLine


section()

section(title): void

Defined in: packages/core/src/command/Command.ts:103

Parameters

title

string

Returns

void

Inherited from

Command.section


table()

table(rows, indent?): void

Defined in: packages/core/src/command/Command.ts:106

Parameters

rows

[string, string][]

indent?

number = 2

Returns

void

Inherited from

Command.table


ask()

ask(question, defaultValue?): Promise<string>

Defined in: packages/core/src/command/Command.ts:127

Prompt the user for text input and wait for Enter.

Parameters

question

string

defaultValue?

string

Returns

Promise<string>

Example

const name = await this.ask('What is your name?');
const env  = await this.ask('Environment?', 'production');

Inherited from

Command.ask


confirm()

confirm(question, defaultValue?): Promise<boolean>

Defined in: packages/core/src/command/Command.ts:142

Prompt the user for a yes/no confirmation. Returns true for y/yes, false otherwise.

Parameters

question

string

defaultValue?

boolean = false

Returns

Promise<boolean>

Example

const ok = await this.confirm('Run migrations?');
const ok = await this.confirm('Overwrite file?', true);

Inherited from

Command.confirm


choice()

choice(question, options): Promise<string>

Defined in: packages/core/src/command/Command.ts:157

Prompt the user to select one option from a numbered list. Returns the selected string. Defaults to the first option on invalid input.

Parameters

question

string

options

string[]

Returns

Promise<string>

Example

const env = await this.choice('Environment:', ['local', 'staging', 'production']);

Inherited from

Command.choice


secret()

secret(question): Promise<string>

Defined in: packages/core/src/command/Command.ts:170

Parameters

question

string

Returns

Promise<string>

Inherited from

Command.secret


_readLine()

_readLine(): Promise<string>

Defined in: packages/core/src/command/Command.ts:213

Read one line from stdin. Override in tests to avoid blocking.

Returns

Promise<string>

Inherited from

Command._readLine


run()

run(): Promise<void>

Defined in: packages/orm/src/commands/MigrateGenerateCommand.ts:61

Returns

Promise<void>

Overrides

Command.run