Registry /
database / meadow-migrationmanager
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
muslnode 18–226 runs
build_error
glibcnode 18–226 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
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.
fixUse `const MeadowMigrationManager = require('meadow-migrationmanager');` instead of `import`. Cannot find module 'stricture'
Missing peer dependency stricture which is required for DDL compilation.
fixInstall the missing dependency: `npm install stricture`.
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