CLI for Synor - Database Schema Migration Tool
npm install @synor/cli



CLI for Synor - Database Schema Migration Tool
- Synor CLI
- Installation
- Configuration
- Commands
using yarn:
``sh`
yarn add --dev @synor/cli @synor/core
using npm:
`sh`
npm install --save-dev @synor/cli @synor/core
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:
`js
const path = require('path')
module.exports = {
databaseEngine: @synor/database-mysql,mysql://root:root@localhost:3306/synor
databaseUri: ,@synor/source-file
sourceEngine: ,file://${path.resolve('migrations')}
sourceUri: ,
baseVersion: '0',
recordStartId: 1,
migrationInfoNotation: {
do: 'do',
undo: 'undo',
separator: '.',
extension: 'sql',
},
}
`
- synor completion
- synor completion:generate
- synor current
- synor drop
- [synor help [COMMAND]](#synor-help-command)synor info
- synor migrate [TARGETVERSION]
- [](#synor-migrate-targetversion)synor repair
- synor validate
-
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_
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_
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_
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_
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_
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_
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_
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_
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_