我刚开始使用 ElasticSearch
,希望能自动化迁移代码版本。
对于 RDBMS
,我使用像 phinx 这样的工具来对数据库进行更改。
例如:
- 创建包含 up() 和 down() 方法的迁移文件。
- 编写命令以执行更改(例如添加索引)。
- 在测试等之后,运行
./phinx migrate
命令。
是否有类似的迁移工具?
如果没有,是否有其他可接受的方法来处理集群的更改?
我刚开始使用 ElasticSearch
,希望能自动化迁移代码版本。
对于 RDBMS
,我使用像 phinx 这样的工具来对数据库进行更改。
例如:
./phinx migrate
命令。是否有类似的迁移工具?
如果没有,是否有其他可接受的方法来处理集群的更改?
https://flywaydb.org/documentation/concepts/migrations.html#java-based-migrations
来自关系型数据库的背景,当您使用有大量迁移文件的大型项目时,迁移工具非常方便。我在Elasticsearch中也遇到了同样的问题,即社区中目前没有稳定的迁移工具。
我创建了一个迁移工具,如果您来自Python https://pypi.org/project/chalan/的背景,则会很方便。其核心思想取自于Sqlalchemy的Alembic迁移工具。
使用方法简单
pip install chalan
然后升级时您必须使用
chalan upgrade
而要降级,则必须使用
chalan downgrade
如果您在使用此工具时遇到任何问题,请告诉我,并随时提出改进意见。
有关源代码,请参阅 GitHub 链接 - https://github.com/anandtripathi5/chalan