New driver for migrating PostgreSQL databases has been created, which
is based on postmodern
(@K1D77A)
cl-migratum.driver.postmodern-postgresql
References:
Major refactoring with breaking changes in the core migratum
system.
The MIGRATUM:MIGRATION-LOAD-UP-SCRIPT
and
MIGRATUM:MIGRATION-LOAD-DOWN-SCRIPT
have been collapsed into a
single generic function - MIGRATUM:MIGRATION-LOAD
. The new generic
function expects an argument, which specifies the direction of the
migration to be loaded, e.g. :up
or :down
respectively for
upgrade
and downgrade
scripts.
New generic function MIGRATUM:MIGRATION-KIND
has been added, which
describes the kind of the migration.
The migratum.provider.local-path
system and provider implementation
have been updated to support additional migration kinds. The
local-path
provider can now discover :sql
and :lisp
migration
kinds.
The :lisp
migration kind is a new migration, which allows invoking a
regular Lisp function as part of the upgrade and downgrade process.
MIGRATUM.PROVIDER.LOCAL-PATH:LOCAL-PATH-MIGRATION
serves as a base
class for the newly added migration kinds:
MIGRATUM.PROVIDER.LOCAL-PATH:SQL-MIGRATION
MIGRATUM.PROVIDER.LOCAL-PATH:LISP-MIGRATION
The core schema used by the MIGRATUM.DRIVER.DBI
and
MIGRATUM.DRIVER.RDBMS-POSTGRESQL
has been adjusted to include the
newly added migration kind column.
The MIGRATUM:DRIVER-APPLY-UP-MIGRATION
and
MIGRATUM:DRIVER-APPLY-DOWN-MIGRATION
functions have been collapsed
into a single MIGRATUM:DRIVER-APPLY-MIGRATION
generic function,
which expects a direction of the migration, e.g. :up
or :down
.
The MIGRATUM:DRIVER-REGISTER-MIGRATION
and
MIGRATUM:DRIVER-UNREGISTER-MIGRATION
have been collapsed into a
single MIGRATUM:DRIVER-REGISTER-MIGRATION
, which expects a
direction of the migration. The direction specifies whether to
perform a registration of applied migration, or unregistering a
migration as part of a rollback.
New generic function with default implementation for BASE-DRIVER
has
been added - MIGRATUM:RESET
. MIGRATUM:RESET
will revert all
previously applied migrations and re-apply them again.
Initial version of the cl-migratum.driver.mixins
system, which
provides various driver-related mixin classes. The newly added :lisp
migration kind is based on the
MIGRATUM.DRIVER.MIXINS:LISP-DRIVER-MIXIN
class.
The LOCAL-PATH
provider now requires that a migration always goes as
a pair of an upgrade/downgrade migration.
New system added, which provides a command-line interface (CLI) app
for migratum
- cl-migratum.cli
.
Commands provided as part of the CLI app include:
applied
- displays the applied migrationscreate
- creates new migration sequencesmigrate
- applies all pending migrationspending
- displays all pending migrationsprint-doc
- prints the markdown documentationreset
- revert all applied migrations and re-apply them againrevert
- revert previously applied migrationsstatus
- display status informationzsh-completions
- dump the Zsh completions
See issue #8 and PR #12 for more details.
New driver system has been added (@darabi)
migratum.driver.rdbms-postgresql
See the following PRs for more details.
The MIGRATUM.PROVIDER.LOCAL-PATH
provider now accepts a list of
migration resource paths.
CL-MIGRATUM
system version bumped to v0.5.0CL-MIGRATUM.PROVIDER.LOCAL-PATH
system version bumped to v0.3.0
See PR #9 for more details.
The MIGRATUM.PROVIDER.LOCAL-PATH
provider no longer accepts a
single migration resources path, but instead it expects a list of
paths.
The :path
initarg has been renamed to :paths
to reflect that
change.
The MIGRATUM:PROVIDER-CREATE-MIGRATION
method specializing on
MIGRATUM.PROVIDER.LOCAL-PATH
will create new migration resources in
the first specified migration resource path.
Added Github Workflow actions for running the test suite of migratum
(@darabi).
See PR #5 for more details.
Added new generic functions, which allow for a provider
and driver
to implement shutdown procedures.
MIGRATUM:PROVIDER-SHUTDOWN
MIGRATUM:DRIVER-SHUTDOWN
System versions bumped to v0.3.0
.
See issue #2 for more details.
Added support for executing multiple statements as part of SQL migrations.
Initial version of core migration
system along with the local-path
provider and sql
driver.