triadev/laravel-elasticsearch-migration

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Elasticsearch migration for laravel.

v1.4.0 2018-12-03 10:40 UTC

This package is auto-updated.

Last update: 2021-09-29 02:22:09 UTC


README

Software license Travis Coveralls CodeCov

Scrutinizer Code Quality Code Coverage Build Status

Latest stable Latest development Monthly installs

Elasticsearch migration for laravel.

Supported laravel versions

Laravel 5.5 Laravel 5.6 Laravel 5.7

Supported elasticsearch versions

Elasticsearch 6.0 Elasticsearch 6.1 Elasticsearch 6.2 Elasticsearch 6.3 Elasticsearch 6.4

Main features

  • Create index
  • Update mappings
  • Update settings
  • Close/Open index for settings update (analyzer, ...)
  • Create/Delete alias
  • Reindex index
  • Delete By Query
  • Update by Query

Installation

Composer

composer require triadev/laravel-elasticsearch-migration

Application

The package is registered through the package discovery of laravel and Composer.

https://laravel.com/docs/5.7/packages

Once installed you can now publish your config file and set your correct configuration for using the package.

php artisan vendor:publish --provider="Triadev\EsMigration\Provider\ElasticsearchMigrationServiceProvider" --tag="config"

This will create a file config/triadev-elasticsearch-migration.php.

Configuration

Key Env Value Description Example Default
filePath --- ARRAY path for file migrations [KEY => STRING, ...] null

Migration via file

The migration file path must be defined in package config.

Configuration

Key Value Description Default
type STRING migration type ---
params ARRAY configuration ---
priority INTEGER order of migration steps 1
stopOnFailure BOOL stop on failure at migration true

CLI-Command

The cli-command imports the migration files to database.

php artisan triadev:es-migration:import-file-migrations {migration} {filePath}

migration

Name of the migration directory.

filePath

The already defined file path key in package config.

Events

Documentation: Laravel Events

Namespace: Triadev\EsMigration\Business\Events

Migration

Event Status
MigrationRunning Migration is running
MigrationError Migration is failed
MigrationDone Migration is done

Migration - Step

Event Status
MigrationStepRunning Migration step is running
MigrationStepError Migration step is failed
MigrationStepDone Migration step is done

Roadmap

  • stop migration
  • audit logs
  • create/delete templates
  • shrink index
  • split index
  • rollover index

Reporting Issues

If you do find an issue, please feel free to report it with GitHub's bug tracker for this project.

Alternatively, fork the project and make a pull request. :)

Testing

  1. docker-compose -f docker-compose.yml up
  2. composer test

Contributing

Please see CONTRIBUTING for details.

Credits

Other

Project related links

License

The code for LaravelElasticsearchMigration is distributed under the terms of the MIT license (see LICENSE).