1.0.13 • Published 3 years ago

@eigenspace/db-migrator-client v1.0.13

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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 on
  • DB_PORT, the port of the storage which we want to apply migration on
  • DB_USER, the username to connect to the storage
  • DB_PASSWORD, the password to connect to the storage
  • DB_NAME, the database name we are going to migrate
  • MIGRATOR_BASE_URL, the full base url of the db migrator: ://:. For instance, http://localhost:4010
  • SERVICE_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.
1.0.13

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.9

3 years ago

1.0.10

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago