Postgres方言不工作在续集-m

运行Sequelize -m

在我的config.json

"development": { "username": "root", "password": null, "database": "**********", "dialect": "postgres", "protocol": "postgres", "port": 5432, "host": "127.0.0.1" }, 

出错:

 sequelize -m Loaded configuration file "config/config.json". Using environment "development". /usr/local/lib/node_modules/sequelize/lib/transaction-manager.js:10 throw new Error("The dialect " + sequelize.getDialect() + " is not support ^ Error: The dialect postgres is not supported. at new module.exports (/usr/local/lib/node_modules/sequelize/lib/transaction-manager.js:10:11) at new module.exports.Sequelize (/usr/local/lib/node_modules/sequelize/lib/sequelize.js:128:31) at Object.<anonymous> (/usr/local/lib/node_modules/sequelize/bin/sequelize:225:27) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3 

在我的configuration中是否有问题,或者是其他问题?

我偶然发现了同样的问题。 你应该在全局安装pg模块。 这是命令:

 npm install -g pg 

不!

你需要安装pg-hstore。

看到这里: https : //github.com/sequelize/sequelize/issues/2949

你需要有

 $ npm install pg --save $ npm install pg-hstore --save $ npm install sequelize --save 

另外创build数据库,sequelize不会为你创build数据库。

 var Sequelize = require("sequelize"); // make sure you have created the database using pg Admin III var sequelize = new Sequelize("postgres://postgres:postgres@localhost:5432/yourdbname"); var Person = sequelize.define('person', { firstName: { type: Sequelize.STRING }, lastName: { type: Sequelize.STRING } }); Person.sync({force: true}).then(function () { return Person.create({ firstName: 'jj', lastName: 'Hancock' }); }); 

我已经运行npm install --save pg在sequelize目录中,现在一切正常。

在应用程序上有一个strace。 看来Sequelize v2.x正在寻找“pg-native”。

npm install -g pg-native

我已经运行root @#“ npm install pg pg-hstore sequelize –save ”,它解决了我的问题。 谢谢 !

该文件说:

随着Sequelizev1.6.0的发布,图书馆独立于特定的方言。 这意味着,你必须自己添加各自的方言库。 另一种select是使用运送方言库的续集包。

那么你可能错过了要求图书馆,见Sequelize文档 。