Registry / database / meadow-migrationmanager

meadow-migrationmanager

JSON →
library0.0.13jsnpmunverified

Meadow Migration Manager is a CLI, Web, and Terminal UI tool for managing database schema migrations within the Meadow ecosystem. As of version 0.0.13, it supports MySQL, PostgreSQL, MSSQL, and SQLite through pluggable providers. It provides a complete pipeline from MicroDDL schema definition via Stricture compilation, diffing between schema versions, SQL migration generation for target dialects, and live database deployment. Key differentiators include a multi-interface approach (CLI with 11 commands, blessed-based TUI, and interactive flow diagrams) and deep integration with Meadow data access libraries.

npm install meadow-migrationmanager
INSTALL
IMPORT
SIG · MEADOW-MIGRATIONMA
M
meadow-migrationmanager
databasejavascriptv0.0.13
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

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

MeadowMigrationManager
const MeadowMigrationManager = require('meadow-migrationmanager');
import MeadowMigrationManager from 'meadow-migrationmanager';
This package does not ship ES module exports; use CommonJS require.
SchemaLibrary
const tmpManager = new MeadowMigrationManager({}); const schemaLib = tmpManager.instantiateServiceProvider('SchemaLibrary');
const { SchemaLibrary } = require('meadow-migrationmanager');
Service providers are accessed via instantiateServiceProvider method, not direct exports.
StrictureAdapter
const tmpManager = new MeadowMigrationManager({}); const stricture = tmpManager.instantiateServiceProvider('StrictureAdapter');
const { StrictureAdapter } = require('meadow-migrationmanager');
Same as SchemaLibrary; use the factory method.
ConnectionLibrary
const tmpManager = new MeadowMigrationManager({}); const connLib = tmpManager.instantiateServiceProvider('ConnectionLibrary');
Access via instantiateServiceProvider with the string 'ConnectionLibrary'.

Demonstrates schema creation, DDL compilation, and basic diffing between two schema versions using the programmatic API.

const MeadowMigrationManager = require('meadow-migrationmanager'); // Instantiate the manager with optional configuration const tmpManager = new MeadowMigrationManager({}); // Access the schema library service const schemaLib = tmpManager.instantiateServiceProvider('SchemaLibrary'); // Add a MicroDDL schema from a string schemaLib.addSchema('bookstore', '!Book\n@IDBook\n$Title 200\n$Genre 128\n'); // Compile the DDL via Stricture const stricture = tmpManager.instantiateServiceProvider('StrictureAdapter'); stricture.compileDDL(schemaLib.getSchema('bookstore').DDL, (pError, pSchema) => { if (pError) { console.error('Compilation error:', pError); return; } console.log('Compiled tables:', Object.keys(pSchema.Tables)); }); // Add a second version and diff schemaLib.addSchema('bookstore-v2', '!Book\n@IDBook\n$Title 256\n$Genre 64\n$Price 10,2\n'); stricture.compileDDL(schemaLib.getSchema('bookstore-v2').DDL, (err2, schema2) => { if (!err2) { const diff = tmpManager.instantiateServiceProvider('DiffEngine'); diff.diffSchema(schemaLib.getSchema('bookstore'), schemaLib.getSchema('bookstore-v2'), (dErr, dResult) => { console.log('Added tables:', dResult.Added); console.log('Removed tables:', dResult.Removed); console.log('Modified tables:', dResult.Modified); }); } });
meadow --version
Debug
Known issues
breakingService providers are accessed via `instantiateServiceProvider` method, not as named exports from the package.
fix
Always create a MeadowMigrationManager instance first and use its method to obtain service instances.
affects: >=0.0.0
gotchaThe package does not provide TypeScript type definitions; all APIs are dynamically typed.
fix
Use JavaScript or manually create TypeScript declaration files if type safety is required.
affects: >=0.0.0
gotchaDatabase connections and schema library data are stored in-memory and not persisted unless explicitly configured with a storage provider.
fix
Configure a persistent storage backend via the configuration object when instantiating MeadowMigrationManager.
affects: >=0.0.0
Errors
Common errors & fixes
TypeError: MeadowMigrationManager is not a constructor
Using ES module import syntax which is not supported; the package only exports a CommonJS module.
fix
Use `const MeadowMigrationManager = require('meadow-migrationmanager');` instead of `import`.
Cannot find module 'stricture'
Missing peer dependency stricture which is required for DDL compilation.
fix
Install the missing dependency: `npm install stricture`.
Upgrade
Version history
0.0.13latest on npm
Audit
Dependencies
stricturerequiredMicroDDL compiler and schema toolchain required for DDL compilation
meadowoptionalData access library for database operations
foxhoundoptionalQuery DSL for SQL generation used in migration scripts
pict-section-flowoptionalInteractive flow visualization with foreign key relationship mapping
Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources
meadow-migrationmanager — npm install meadow-migrationmanager · libregistry