Skip to content

jasny/knex-hdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Knex.js HDB

This library add support for SAP HANA to knex.js. It uses node-hdb as driver.

Installation

npm install --save knex-hdb

Usage

Please read the knex documentation.

Connect

Passing a custom client class to knex doesn't work. You need to instantiate the client manually and use the makeknex utility.

const makeKnex = require('knex/lib/util/make-knex');
const HDBClient = require('knex-hdb');

const client = new HDBClient({
  connection: {
    host     : 'hostname',
    port     : 30015,
    user     : 'user',
    password : 'secret',
    schema   : 'schema'
  }
});

const knex = makeKnex(client);

Create a table

The custom tableType option may be used to specify the table type.

An increments column will translate to a DEFAULT TO IDENTITY statement. This is only available for 'COLUMN' tables, not for 'ROW' type tables.

Pass 'utf-8' to a string column to create an NVARCHAR column instead a VARCHAR.

knex.schema.createTable('accounts', function(table) {
  table.string('id', 32).primary();
  table.string('account_name');
  table.string('full_name', 255, 'utf-8');
  table.index('account_name');
})

Build

To build this project from source, download it from GitHub and then run

npm install
npm run build

There will be a new 'lib' folder.

Contribution

This library supports limited features of SAP HANA. If you like to contribute, please create a pull request.

  • Unit tests
  • Support for modifying a table
  • Tranactions
  • Upsert support