Registry / database / elasticsearch-migrations

elasticsearch-migrations

JSON →
library1.0.3jsnpmunverified

A Node.js migration tool for Elasticsearch, similar to traditional SQL schema migrations. Current version 1.0.3. It provides a CLI (`elastic-migrate`) for creating, applying, and rolling back migrations, as well as seeding data. Requires Node.js >=14.17.0, ^16.0.0, or >=18.0.0 and Elasticsearch 8.7. Compared to other ES migration tools, it offers a Knex-like interface with batch rollbacks and seed support, but may lack extensive community adoption.

npm install elasticsearch-migrations
INSTALL
IMPORT
SIG · ELASTICSEARCH-MIGR
E
elasticsearch-migrations
databasejavascriptv1.0.3
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ElasticMigrations (default)
✓ const ElasticMigrations = require('elasticsearch-migrations');
✗ import ElasticMigrations from 'elasticsearch-migrations';
Package is CommonJS-only; no ESM exports. Use require().
migrate, seed (instance methods)
✓ const ElasticMigrations = require('elasticsearch-migrations'); const { migrate, seed } = new ElasticMigrations(config);
✗ const { migrate } = require('elasticsearch-migrations');
Must instantiate ElasticMigrations with a config object to access migrate/seed.
config object (TypeScript)
✓ const config: any = { elasticsearch: { host: 'localhost:9200' } };
Package does not ship TypeScript definitions; use @types/elasticsearch or any type.

Shows CommonJS require, config object with environment variable, instantiation, and basic migration creation/application.

const ElasticMigrations = require('elasticsearch-migrations'); const config = { elasticsearch: { host: process.env.ES_HOST ?? 'localhost:9200' } }; const { migrate, seed } = new ElasticMigrations(config); async function run() { await migrate.make('create_users'); await migrate.up('20230524_create_users.js'); } run().catch(console.error);
Debug
Known issues
gotchaElasticsearch 8.7 required; older versions may have incompatibilities.
fix
Ensure Elasticsearch cluster is running version 8.7 or upgrade the package if available.
affects: >=1.0.0
breakingNode.js versions prior to 14.17.0 are not supported; may throw errors on older runtimes.
fix
Upgrade Node.js to ^14.17.0 || ^16.0.0 || >=18.0.0.
affects: >=1.0.0
gotchaCLI commands use 'elastic-migrate' not 'elasticsearch-migrations'.
fix
Use `elastic-migrate migrate:make <name>` from the command line after global install.
affects: >=1.0.0
gotchaProgrammatic usage requires instantiating ElasticMigrations with a config object; static methods are not exposed.
fix
Create an instance: `const Em = new ElasticMigrations(config)` then use `Em.migrate`.
affects: >=1.0.0
deprecatedNo type definitions provided; TypeScript projects must declare module types manually.
fix
Create a declaration file: `declare module 'elasticsearch-migrations';` or use `// @ts-ignore`.
affects: >=1.0.0
Errors
Common errors & fixes
Cannot find module 'elasticsearch-migrations'
Package not installed locally or globally in the current path.
fix
Run `npm install elasticsearch-migrations --save` or `npm install -g elasticsearch-migrations`.
ElasticMigrations is not a constructor
Using ES6 import syntax (import ElasticMigrations from '...') on CommonJS module without default export.
fix
Use `const ElasticMigrations = require('elasticsearch-migrations');`
migrate is not a function
Calling `migrate()` directly on required module instead of instantiated object.
fix
Instantiate: `const em = new ElasticMigrations(config);` then use `em.migrate.make(...)`.
ENOENT: no such file or directory, open 'migrations/'
Default migrations directory does not exist or is not configured.
fix
Create a 'migrations' folder in project root or set `migrationsDir` in config object.
Upgrade
Version history
1.0.3latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
14 hits · last 30 days
node
12
Resources
elasticsearch-migrations — npm install elasticsearch-migrations · libregistry