Installation¶
ElasticMigrate requires Python 3.11 or newer and is distributed as signed release artifacts on GitHub Releases. It is not published to PyPI.
Choose the database extra¶
The schema version history is stored in a SQL database. SQLite support is always included; PostgreSQL and MySQL need an extra that installs the matching async driver.
Database |
Extra |
Driver |
|---|---|---|
SQLite |
none |
|
PostgreSQL |
|
|
MySQL / MariaDB |
|
|
Install a release¶
Download the wheel of the release you want, verify it (see the release notes for the signing key and checksums), then
install it. Replace 2.0.0 with the release version.
python -m pip install "./elastic_migrate-2.0.0-py3-none-any.whl[postgres]"
With uv, install it as an isolated command-line tool:
uv tool install "elastic-migrate[postgres] @ ./elastic_migrate-2.0.0-py3-none-any.whl"
Use [mysql] for MySQL, or no extra for SQLite. Check the installation with:
esmigrate --version
Install from source¶
git clone https://github.com/zobayer1/elastic-migrate.git
cd elastic-migrate
uv sync
uv run esmigrate --help