@synor/cli
TypeScript icon, indicating that this package has built-in type declarations

0.9.2 • Public • Published

Synor CLI Version License oclif

Synor CLI

CLI for Synor - Database Schema Migration Tool

Installation

using yarn:

yarn add --dev @synor/cli @synor/core

using npm:

npm install --save-dev @synor/cli @synor/core

Configuration

Synor CLI reads config file from one of the following locations:

  • File path passed to --config or -c flag
  • .synorrc.js
  • .synorrc.ts
  • synor.config.js
  • synor.config.ts

The first one found is used by Synor CLI.

Note: ts-node is required for loading config from .ts file

Options in config file is overridden by their available command flag counterparts.

Main Options:

Name Description
databaseEngine Database Engine function / package name / module path
databaseUri Database Engine URI
sourceEngine Source Engine function / package name / module path
sourceUri Source Engine URI

Other Options:

You can also specify other configuration options that Synor Core accepts.

Example:

const path = require('path')

module.exports = {
  databaseEngine: `@synor/database-mysql`,
  databaseUri: `mysql://root:root@localhost:3306/synor`,
  sourceEngine: `@synor/source-file`,
  sourceUri: `file://${path.resolve('migrations')}`,

  baseVersion: '0',
  recordStartId: 1,
  migrationInfoNotation: {
    do: 'do',
    undo: 'undo',
    separator: '.',
    extension: 'sql',
  },
}

Commands

synor completion

completion plugin

USAGE
  $ synor completion

OPTIONS
  -s, --shell=bash|fish|zsh  (required) Name of shell

EXAMPLE
  $ synor completion --shell zsh

See code: oclif-plugin-completion

synor completion:generate

generates completion script

USAGE
  $ synor completion:generate

OPTIONS
  -s, --shell=bash|fish|zsh  (required) Name of shell

EXAMPLE
  $ synor completion:generate --shell zsh

See code: oclif-plugin-completion

synor current

show current migration record

USAGE
  $ synor current

OPTIONS
  -D, --databaseEngine=databaseEngine  Database Engine
  -S, --sourceEngine=sourceEngine      Source Engine
  -b, --baseVersion=baseVersion        Version of the Base Migration
  -c, --config=config                  Configuration file path
  -d, --databaseUri=databaseUri        Database URI
  -i, --recordStartId=recordStartId    Migration Record Start ID
  -s, --sourceUri=sourceUri            Source URI
  --columns=columns                    only show provided columns (comma-separated)
  --no-header                          hide table header from output

DESCRIPTION
  This record indicates the current migration version for the database.

EXAMPLES
  $ synor current
  $ synor current --no-header --columns version

See code: src/commands/current.ts

synor drop

drop database

USAGE
  $ synor drop

OPTIONS
  -D, --databaseEngine=databaseEngine  Database Engine
  -S, --sourceEngine=sourceEngine      Source Engine
  -b, --baseVersion=baseVersion        Version of the Base Migration
  -c, --config=config                  Configuration file path
  -d, --databaseUri=databaseUri        Database URI
  -i, --recordStartId=recordStartId    Migration Record Start ID
  -s, --sourceUri=sourceUri            Source URI

DESCRIPTION
  This command is DANGEROUS.
  Drops everything in the database.
  It should only be used for development purposes.

EXAMPLE
  $ synor drop

See code: src/commands/drop.ts

synor help [COMMAND]

display help for synor

USAGE
  $ synor help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

synor info

show migration information

USAGE
  $ synor info

OPTIONS
  -D, --databaseEngine=databaseEngine  Database Engine
  -S, --sourceEngine=sourceEngine      Source Engine
  -b, --baseVersion=baseVersion        Version of the Base Migration
  -c, --config=config                  Configuration file path
  -d, --databaseUri=databaseUri        Database URI
  -i, --recordStartId=recordStartId    Migration Record Start ID
  -s, --sourceUri=sourceUri            Source URI
  -x, --extended                       show extra columns
  -z, --outOfOrder                     include out of order pending migrations
  --columns=columns                    only show provided columns (comma-separated)
  --filter=filter                      filter property by partial string matching, ex: name=foo
  --no-header                          hide table header from output

DESCRIPTION
  Shows detailed information about schema migrations.

EXAMPLES
  $ synor info
  $ synor info --outOfOrder
  $ synor info --no-header --columns version --filter state=pending

See code: src/commands/info.ts

synor migrate [TARGETVERSION]

migrate database to specific version

USAGE
  $ synor migrate [TARGETVERSION]

ARGUMENTS
  TARGETVERSION  target migration version

OPTIONS
  -D, --databaseEngine=databaseEngine  Database Engine
  -S, --sourceEngine=sourceEngine      Source Engine
  -b, --baseVersion=baseVersion        Version of the Base Migration
  -c, --config=config                  Configuration file path
  -d, --databaseUri=databaseUri        Database URI
  -f, --from=from                      from migration version
  -i, --recordStartId=recordStartId    Migration Record Start ID
  -s, --sourceUri=sourceUri            Source URI
  -t, --to=to                          to migration version
  -z, --outOfOrder                     include out of order pending migrations

DESCRIPTION
  Runs necessary migrations to reach the target migration version.

EXAMPLES
  $ synor migrate 42
  $ synor migrate --from=00 --to=42
  $ synor migrate 42 --outOfOrder

See code: src/commands/migrate.ts

synor repair

repair migration records

USAGE
  $ synor repair

OPTIONS
  -D, --databaseEngine=databaseEngine  Database Engine
  -S, --sourceEngine=sourceEngine      Source Engine
  -b, --baseVersion=baseVersion        Version of the Base Migration
  -c, --config=config                  Configuration file path
  -d, --databaseUri=databaseUri        Database URI
  -i, --recordStartId=recordStartId    Migration Record Start ID
  -s, --sourceUri=sourceUri            Source URI

DESCRIPTION
  - Updates the mismatched hashes
  - Deletes the dirty records

EXAMPLE
  $ synor repair

See code: src/commands/repair.ts

synor validate

validate migration records

USAGE
  $ synor validate

OPTIONS
  -D, --databaseEngine=databaseEngine  Database Engine
  -S, --sourceEngine=sourceEngine      Source Engine
  -b, --baseVersion=baseVersion        Version of the Base Migration
  -c, --config=config                  Configuration file path
  -d, --databaseUri=databaseUri        Database URI
  -i, --recordStartId=recordStartId    Migration Record Start ID
  -s, --sourceUri=sourceUri            Source URI
  -x, --extended                       show extra columns

DESCRIPTION
  Validates the records for migrations that are currently applied.

EXAMPLE
  $ synor validate

See code: src/commands/validate.ts

Package Sidebar

Install

npm i @synor/cli

Weekly Downloads

160

Version

0.9.2

License

MIT

Unpacked Size

55.9 kB

Total Files

33

Last publish

Collaborators

  • muniftanjim