Metadata-Version: 2.1
Name: chalan
Version: 0.1.2
Summary: Elasticsearch migrations tool
Home-page: https://github.com/anandtripathi5/chalan
Author: Anand Tripathi
Author-email: anand.tripathi507@gmail.com
License: MIT License
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: elasticsearch (>8.0.0)
Requires-Dist: typer (==0.6.1)
Requires-Dist: rich (==12.5.1)
Requires-Dist: Mako (~=1.2.2)

# Chalan

Chalan is a migration tool designed and developed for Elasticsearch and
inspired from Alembic

# Installation

```shell
pip install chalan
```

# Initialize

Setup migration tool, configuration files and migration folders using below
command

```shell
chalan init
```

This will create a directory `es_migrations/versions` that will have all the
migrations file and `chalan.ini` that will contain all the configuration of the
migration tools

```bash
--- es_migrations/
  |
  --versions/
--- chalan.ini
```

# Create Revision

Create revision file with migration changes in version directory with below
command.

```shell
chalan revision -m"<some message>"
```

Above command will create a migration file under `versions/` folder with
upgrade and downgrade function. That will help in upgrade/downgrade of the
migration tool.

# Upgrade

Command used to upgrade the migration level to head(current level). Or you can
also specify specific version where you want upgrade the version to.

```shell
chalan upgrade
# or
chalan upgrade <specific version>
```

# Downgrade

Command used to downgrade the migration level to base(initial version). Or
specify the level you want to downgrade to.

```shell
chalan downgrade # Downgrade 1 level down
# or
chalan downgrade --version base # Downgrade to base version
```
