@eigenspace/db-migrator-client
v1.0.13
Published
A client for Db Migrator service that helps migrate liquibase change sets
Downloads
30
Readme
About
It is a client to DB Migrator. So you can use it to request db migration in a service that has a liquibase migration changelog and needs to apply them to its storage.
Configuration
You can use environment variables to configure the client:
DB_HOST
, the host of the storage which we want to apply migration onDB_PORT
, the port of the storage which we want to apply migration onDB_USER
, the username to connect to the storageDB_PASSWORD
, the password to connect to the storageDB_NAME
, the database name we are going to migrateMIGRATOR_BASE_URL
, the full base url of the db migrator: ://:. For instance, http://localhost:4010SERVICE_NAME
, the name of service that is going to migrate data. It is used only to create a namespace for its changelog so that different service with their own migrations do not interfere with each other.CHANGELOG_ARCHIVE_PATH
, the full name/path of the changelog archive. For instance,/opt/service/changelog.tar
.
Publishing the package
If you want to publish the package, you need to add environment variable:
NPM_REGISTRY_ACCESS_TOKEN
. It has to contain the value of the access token to @eigenspace account on the public npm registry (See.npmrc
).
CI configuration
You can find a configured secret for NPM_REGISTRY_ACCESS_TOKEN
in
Github Eigenspace secrets.
Why do we have that dependencies?
form-data
- it is used to send changelog archive to the migrator
Why do we have that dev dependencies?
@eigenspace/codestyle
- includes lint rules, config for typescript.@eigenspace/commit-linter
- linter for commit messages.@eigenspace/package-publisher
- it publishes the package and set the next version automatically.@types/*
- contains type definitions for specific library.clean-webpack-plugin
- it is used to clean dist folder before build.copy-webpack-plugin
- it is used to copy additional files into dist.eslint
- it checks code for readability, maintainability, and functionality errors.eslint-plugin-eigenspace-script
- includes set of script linting rules and configuration for them.husky
- used for configure git hooks.lint-staged
- used for configure linters against staged git files.pg
- it is used to operate with the storage represented as Postgres database. It is in dev dependencies because we use it as a peer dependency. We expect that every consumer of the library works with a database due to it needs db migration. So, it will provide required dependency.ts-loader
- webpack loader to build typescript files.ts-node
- to run without build typescript.typescript
- is a superset of JavaScript that have static type-checking and ECMAScript features.webpack
- it is used to build the package/library.webpack-cli
- it is used to send commands to webpack using commandline interface.