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.
MorphineOrm
✓ import MorphineOrm from 'morphine-orm'
✗ const MorphineOrm = require('morphine-orm')
Package is ESM-only; CommonJS require will fail. Use import syntax.
Model
✓ // Models are plain objects, no class import needed.
// Define models as shown in documentation.
Models are defined as plain JavaScript objects in separate files; they are not imported as classes.
Dogs
✓ const Dogs = require('./models/Dogs.model')();
✗ import Dogs from './models/Dogs.model'
Models are exported as a function that returns a model definition object. CommonJS require is recommended for models; ESM import might not work as expected.
Initialize MorphineOrm with a MySQL connection, define a model file, and create a record.
// Install driver for your database, e.g., MySQL: npm install mysql2
const MorphineOrm = require('morphine-orm');
const mysql2 = require('mysql2');
// Initialize ORM with database configuration
const orm = new MorphineOrm({
adapters: {
'default': 'mysql',
'mysql': {
module: mysql2,
host: process.env.DB_HOST ?? 'localhost',
port: process.env.DB_PORT ?? 3306,
user: process.env.DB_USER ?? 'root',
password: process.env.DB_PASSWORD ?? '',
database: process.env.DB_NAME ?? 'test'
}
},
connections: {
'default': {
adapter: 'mysql'
}
},
defaults: {
migrate: 'alter' // Auto-sync schema
},
models: [__dirname + '/models'] // Directory with model files
});
// Define a model (e.g., /models/Dogs.model.js)
// module.exports = function() {
// return {
// tableName: 'dogs',
// attributes: {
// id: { type: 'integer', autoincrement: true, primary: true },
// name: { type: 'string', defaultsTo: '' },
// birth: { type: 'date', defaultsTo: '0000-00-00' }
// }
// };
// }
// Usage (after ORM initialized)
const Dogs = orm.models.Dogs;
async function createDog() {
const dog = await Dogs.create({ name: 'Rex', birth: '2019-10-06' }).exec();
console.log('Created dog:', dog);
}
createDog().catch(err => console.error(err));
Errors
Common errors & fixes
Cannot find module 'morphine-orm'
Package not installed or wrong import syntax for ESM/CommonJS.
fixEnsure installed: npm install morphine-orm. If using CommonJS, use require('morphine-orm'). MorphineOrm is not a constructor
Using CommonJS require with ESM package or vice versa.
fixUse ESM import: import MorphineOrm from 'morphine-orm';
Model is not defined
Model file not properly exported or path not set correctly.
fixModel must export a function returning an object with 'attributes' key. Check models directory path in ORM config.
No database adapter found
Missing database driver or incorrect adapter name.
fixInstall appropriate driver (e.g., mysql2, pg, sqlite3) and configure adapter with 'module' key.
Audit
Dependencies
mysql2optionalRequired driver for MySQL or MariaDB; alternative: mysql
pgoptionalRequired driver for PostgreSQL or CockroachDB
sqlite3optionalRequired driver for SQLite
mssqloptionalRequired driver for Microsoft SQL Server
oracledboptionalRequired driver for Oracle Database