使用Sequelize和Redshift

Ism*_*imi 4 node.js sequelize.js amazon-redshift sails.js bookshelf.js

是否有可能使用Sequelize红移?如果没有,有哪些替代方案?我需要一个内置的事务支持Node.js的ORM,因此Sails.js不是一个选项.我也看过Bookshelf,但也找不到任何对Redshift的支持.

Ken*_*nnu 6

我已经能够使用这些选项让Sequelize至少连接到Redshift(并进行简单的SELECT查询):

var Sequelize = require('sequelize');
Sequelize.HSTORE.types.postgres.oids.push('dummy'); // avoid auto-detection and typarray/pg_type error
module.exports = new Sequelize(process.env.REDSHIFT_DATABASE, process.env.REDSHIFT_USER, process.env.REDSHIFT_PASSWORD, {
  host: process.env.REDSHIFT_HOST,
  port: process.env.REDSHIFT_PORT,
  dialect: 'postgres',
  pool: false,
  keepDefaultTimezone: true, // avoid SET TIMEZONE
  databaseVersion: '8.0.2' // avoid SHOW SERVER_VERSION
});
Run Code Online (Sandbox Code Playgroud)


Jan*_*ier 1

Redshift 基于 postgres 8.0.2 ( http://docs.aws.amazon.com/redshift/latest/dg/c_redshift-and-postgres-sql.html ),因此 postgres 和sequelize 都应该能够连接到它。

我对此没有任何个人经验,但 redshift 文档建议您可以使用常规 JDBC / ODBC 驱动程序连接到它,因此如果节点驱动程序不起作用,我会感到惊讶

  • 有关时区的问题已得到修复。我不知道有任何问题,官方的续集错误跟踪器中没有报告任何问题(完全披露,我是续集开发人员) (2认同)