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.
diffSchemas
✓ const { diffSchemas } = require('schemalens-engine');
✗ const diffSchemas = require('schemalens-engine').diffSchemas;
CommonJS destructuring is preferred; direct property access also works.
generateMigration
✓ const { generateMigration } = require('schemalens-engine');
✗ import generateMigration from 'schemalens-engine';
This package does not provide default exports; only named exports via CommonJS.
detectBreakingChanges
✓ const { detectBreakingChanges } = require('schemalens-engine');
✗ const detectBreakingChanges = require('schemalens-engine');
detectBreakingChanges is a named export, not the default export.
calculateRiskScore
✓ const { calculateRiskScore } = require('schemalens-engine');
✗ const calculateRiskScore = require('schemalens-engine').calculateRiskScore;
Both patterns work but destructuring is idiomatic.
Compares two SQL schemas, generates a migration script, detects breaking changes, and calculates risk score.
const { diffSchemas, generateMigration, detectBreakingChanges, calculateRiskScore } = require('schemalens-engine');
const oldSQL = `CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100));`;
const newSQL = `CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255));`;
const result = diffSchemas(oldSQL, newSQL, { dialect: 'postgres' });
console.log('Added tables:', result.addedTables.length);
console.log('Removed tables:', result.removedTables.length);
console.log('Modified tables:', result.modifiedTables.length);
const migration = generateMigration(result, { dialect: 'postgres' });
console.log(migration);
const breaking = detectBreakingChanges(result);
console.log('Breaking changes:', breaking.length);
const risk = calculateRiskScore(result);
console.log('Risk score:', risk.score, risk.label);
Errors
Common errors & fixes
TypeError: diffSchemas is not a function
Incorrect import using default import or missing destructuring.
fixUse const { diffSchemas } = require('schemalens-engine'); Error: Unsupported dialect: 'sql server'
Dialect string must match exactly: 'mssql' for SQL Server.
fixUse dialect: 'mssql' instead of 'sql server'.
SyntaxError: Unexpected token 'export'
Using ES module import (import) in a CommonJS project.
fixUse require() or set type: 'module' in package.json and use import with correct named import.
Audit
Dependencies
No dependency data recorded yet.