Skip to content
This repository was archived by the owner on Apr 19, 2020. It is now read-only.

Repository files navigation

Synor CLIVersionLicenseoclif

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:

NameDescription
databaseEngineDatabase Engine function / package name / module path
databaseUriDatabase Engine URI
sourceEngineSource Engine function / package name / module path
sourceUriSource Engine URI

Other Options:

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

Example:

constpath=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 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

About

CLI for Synor - Database Schema Migration Tool

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages