emigrate

The modern, modular and flexible migration tool for any database

MIT License

Downloads
319
Stars
2
Committers
3

Bot releases are visible (Hide)

emigrate - @emigrate/[email protected]

Published by joakimbeng 10 months ago

Minor Changes

  • a79f8e8: When serializing errors take all "own properties" into account to be able to serialize errors thrown by the mysql2 package for instance without losing any information

Patch Changes

  • a79f8e8: Serialization of errors now happens inside storage plugins because it makes more sense and the types are easier to work with this way
emigrate - @emigrate/[email protected]

Published by joakimbeng 10 months ago

Patch Changes

  • Updated dependencies [a79f8e8]
  • Updated dependencies [a79f8e8]
emigrate - @emigrate/[email protected]

Published by joakimbeng 10 months ago

Patch Changes

  • a79f8e8: Serialization of errors now happens inside storage plugins because it makes more sense and the types are easier to work with this way
  • Updated dependencies [a79f8e8]
  • Updated dependencies [a79f8e8]
emigrate - @emigrate/[email protected]

Published by joakimbeng 10 months ago

Minor Changes

  • bc33e63: Improve error logging in the default reporter so that all "own properties" of errors are logged

Patch Changes

  • a79f8e8: Serialization of errors now happens inside storage plugins because it makes more sense and the types are easier to work with this way
  • 5307e87: Only log info about locked migrations in the "up" command, as "list" doesn't do any locking
  • Updated dependencies [a79f8e8]
  • Updated dependencies [a79f8e8]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • c1d5597: Handle the serialized errors coming from Emigrate, so no need to serialize errors ourselves
  • 703e6f0: Implement an empty "end" method for cleaning up

Patch Changes

  • Updated dependencies [703e6f0]
  • Updated dependencies [c1d5597]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Patch Changes

  • Updated dependencies [703e6f0]
  • Updated dependencies [c1d5597]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • 703e6f0: Add "end" method to storage plugins so they can cleanup resources when a command is finished
  • c1d5597: Add serializeError utility function for serializing Error instances
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • 334e209: Implement the first version of the MySQL plugin package. It's three plugins in one: a storage plugin for storing migration history in a MySQL database, a loader plugin for executing migration files written in plain sql and a generator plugin for generating migration file skeletons with the .sql extension.

Patch Changes

  • 703e6f0: Fix issue with closing the connection pool too early
  • Updated dependencies [703e6f0]
  • Updated dependencies [c1d5597]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • a8db226: Handle storage initialization errors and show missing loader plugin errors in a better way
  • c1d5597: Serialize errors before passing them to the storage so that storage plugins doesn't have to care about serialization of errors
  • 703e6f0: Call storage.end() to cleanup resources when a command has finished

Patch Changes

  • 703e6f0: Handle storage initialization errors in the "list" and "remove" commands
  • Updated dependencies [703e6f0]
  • Updated dependencies [c1d5597]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Patch Changes

  • Updated dependencies [703e6f0]
  • Updated dependencies [c1d5597]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Patch Changes

  • Updated dependencies [20ed2e8]
  • Updated dependencies [d916043]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Patch Changes

  • 20ed2e8: Try importing plugins (and reporters) using prefixes before importing without, this is to avoid issue with accidentaly importing other non-emigrate related packages. E.g. setting the reporter to "pino" would import the "pino" package without this fix and will import "@emigrate/reporter-pino" with this fix.
  • d916043: Fix a regression issue where plugins wasn't correctly loaded if specified as strings
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • 3619d86: Implement the first version of the Pino reporter package

Patch Changes

  • Updated dependencies [20ed2e8]
  • Updated dependencies [d916043]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Patch Changes

  • Updated dependencies [20ed2e8]
  • Updated dependencies [d916043]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Patch Changes

  • Updated dependencies [20ed2e8]
  • Updated dependencies [d916043]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • 7d8ac9b: Adapt to the new plugin structure and rename from "@emigrate/plugin-storage-fs" to just "@emigrate/storage-fs"
  • e79dd4b: Serialize errors recursively if they have a "cause" set to an Error instance
  • d8a6a24: Implement the "remove" command for removing migration entries from the history

Patch Changes

  • Updated dependencies [5e8572b]
  • Updated dependencies [8e87ade]
  • Updated dependencies [60ae3b8]
  • Updated dependencies [672fae1]
  • Updated dependencies [d8a6a24]
  • Updated dependencies [acb0b4f]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Patch Changes

  • Updated dependencies [5e8572b]
  • Updated dependencies [8e87ade]
  • Updated dependencies [60ae3b8]
  • Updated dependencies [672fae1]
  • Updated dependencies [d8a6a24]
  • Updated dependencies [acb0b4f]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • 5e8572b: Pass the current command to the reporter
  • 8e87ade: Move storages and reporters out from the plugin option into their own separate options (i.e. "--reporter" and "--storage" respectively). This makes it easier to change the interfaces of storages and reporters, and it's also more similar to other tools.
  • 672fae1: Include "@emigrate/" in the plugin prefix list, i.e. when searching for the plugin "blaha" it will look for the packages "blaha", "@emigrate/blaha", "@emigrate/plugin-blaha" and "emigrate-plugin-blaha" and use the first of them that exists
  • d8a6a24: Implement the "remove" command for removing migration entries from the history

Patch Changes

  • 60ae3b8: Fix loading of lazy loaded plugins with default exports
  • acb0b4f: Keep upper cased letters in migration file names by default
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • 8347fc1: Show any failed migration from the history in the "up" dry-run output
  • cf17e48: Enable source maps when running the Emigrate CLI
  • 53cdb23: Implement the "list" command for listing the full migration history and any pending migrations
  • 8e87ade: Move storages and reporters out from the plugin option into their own separate options (i.e. "--reporter" and "--storage" respectively). This makes it easier to change the interfaces of storages and reporters, and it's also more similar to other tools.
  • da1eee3: Add "reporter" option for the "new" command and use it for improved logging
  • 8347fc1: Improve the looks of the "up" dry-run default output by showing pending migrations in a different color
  • d8a6a24: Implement the "remove" command for removing migration entries from the history
  • c68c6f0: Include Emigrate error codes in the error names
  • 8f623ef: Allow running commands no matter of the provided command's letter casing

Patch Changes

  • 8347fc1: Return a non zero exit code in case a migration fails (or for a dry-run if there's a failed migration in the history)
  • 570bd1f: The default reporter now prints the full command output once a command is done (in interactive mode) so that the full output is visible no matter the size of the terminal window.
  • 8347fc1: Don't pass the EmigrateError instance to the storage for each failed migration but only the real cause. This is so that errors from failed migrations are not wrapped twice in EmigrateError instances when presenting failed migrations during an "up" dry-run or the "list" command.
  • 9447d28: Ignore migration history entries not belonging to the current migration directory when considering what to list or execute. This way a project can have multiple folders with different kind of migration sets or multiple projects can share the same migration history without any of them conflicting or blocking each other in case of failed migrations.
  • b57c86e: Only load the JavaScript loader plugin if necessary
  • 1940885: Remove the double period before the file extension when generating new migration files
  • Updated dependencies [5e8572b]
  • Updated dependencies [8e87ade]
  • Updated dependencies [60ae3b8]
  • Updated dependencies [672fae1]
  • Updated dependencies [d8a6a24]
  • Updated dependencies [acb0b4f]
emigrate - @emigrate/[email protected]

Published by joakimbeng 11 months ago

Minor Changes

  • 8f35812: Add support for "reporter" plugins and implement a simple default reporter