/sequelize-oracle

Sequelize is an easy-to-use multi sql dialect object-relationship-mapper for node.js. It currently supports MySQL, MariaDB, SQLite and PostgreSQL. This fork add support for Oracle

Primary LanguageJavaScriptMIT LicenseMIT

Sequelize-oracle

This repository is no longer maintained

For updates, go to : https://github.com/nhuanhoangduc/cu8-sequelize-oracle

--

Bitdeli Badge Build Status Dependency Status Code Climate Test Coverage

Sequelize is a promise-based Node.js/io.js ORM for Postgres, MySQL, MariaDB, SQLite, Microsoft SQL Server and Oracle. It features solid transaction support, relations, read replication and more.

Note

sequelize-oracle is a fork of sequelize@master
This fork add support of DML statements for Oracle
If you don't need Oracle support, prefer the original Sequelize

Sequelize-oracle@3.0.1-x.x is in development. Only the old version (1.7.10-x.x) is on npmjs registry.

Compatibility:

Sequelize-oracle is compatible only with nodejs@0.10 and nodejs@0.12 (with oracledb >= 0.6).
Sequelize-oracle is only tested with Oracle 11 XE and nodejs@0.10

Installation

The basic install steps are:

  • Install oracledb

    • Install the small, free Oracle Instant Client libraries if your database is remote, or have a local database such as the free Oracle XE release.
    • Run npm install oracledb to install from the NPM registry.

    See INSTALL for details.

  • Install sequelize-oracle

    • Run npm install sequelize-oracle to install from the NPM registry.

Oracledb config in Sequelize-Oracle

  • With Oracledb, the maximum number of rows that are fetched by select query is 100 rows. You can change this parameter with options.maxRows in each query.
  • In Sequelize, for Raw query, the outFormat parameter for oracledb is OBJECT.
  • AutoCommit is enable by default. If you don't want autoCommit, use Sequelize Transactions for manage commit et rollback.

Limitations:

  • DataType: only this dataTypes are managed:
    • STRING (=VARCHAR2)
    • CHAR
    • DECIMAL (=NUMBER)
    • BIGINT (=NUMBER(19,0))
    • INTEGER
    • FLOAT
    • DOUBLE
    • UUID (=CHAR 36)
    • DATE (=TIMESTAMP WITH LOCAL TIME ZONE)
    • DATEONLY (=DATETIME)
    • BOOLEAN (=NUMBER(1))
  • Index: index type is not fully managed

Todo:

  • ENUM DataType
  • improve index for type
  • resolve the pb "name column length > 30 char" in nesteed querry
  • ...

Sequelize

Build Status Dependency Status Test Coverage Bountysource Flattr this

Sequelize is a promise-based Node.js/io.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, read replication and more.

Documentation

Installation

npm install sequelize

From 3.0.0 and up Sequelize will follow SEMVER. 3.0.0 contains important security fixes so we highly recommend that users upgrade.

If you still use 1.7 please prefer to Upgrading to 2.0 and the changelog between 2.0 and 3.0. 2.1 also has a breaking change.

Features

  • Schema definition
  • Schema synchronization/dropping
  • 1:1, 1:M & N:M Associations
  • Through models
  • Promises
  • Hooks/callbacks/lifecycle events
  • Prefetching/association including
  • Transactions
  • Migrations
  • CLI (sequelize-cli)

Resources