A lightweight ORM for OracleDB, inspired by Sequelize and sequelize-typescript. Provides decorator-based entity mapping (@Table, @Column, @PrimaryKey, @Sequence), CRUD operations (findAll, findOne, create, save, destroy, destroyAll), and support for WHERE conditions with logical operators (Op.or, Op.and). Current version 1.2.1, released as stable. Requires oracledb client (node-oracledb) as a peer dependency. Features TypeScript typings and ESM exports. Differentiated by being Oracle-specific (not multi-dialect) and using a class-based Entity pattern with automatic sequence handling and RETURNING clause on INSERT/UPDATE.
npm install relax-ormNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows entity definition with decorators, connection setup, find/save/destroy operations.
Always pass a where condition explicitly, or call destroyAll() for full table delete.
Ensure exactly one field is decorated with @PrimaryKey.
Do not rely on provided id when @Sequence is present; query the inserted record to get generated id.
Set ConnectionManager.config.maxRows = 100; ConnectionManager.config.fetchAsString = [oracledb.DATE, oracledb.NUMBER]; before new ConnectionManager().
Verify the connectString format (e.g., host:port/service_name) and that the database listener is running.
Install Oracle Instant Client (Basic or Basic Light) and set LD_LIBRARY_PATH (Linux) or PATH (Windows) to the client directory.
Ensure import { Entity } from 'relax-orm' is at the top and no circular imports exist.