pjb*_*jbr 10 postgresql node.js express sequelize.js
运行Sequelize -m
在我的config.json中
"development": {
"username": "root",
"password": null,
"database": "**********",
"dialect": "postgres",
"protocol": "postgres",
"port": 5432,
"host": "127.0.0.1"
},
Run Code Online (Sandbox Code Playgroud)
得到错误:
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
Run Code Online (Sandbox Code Playgroud)
我的配置中是否存在问题,或者其他可能存在问题的问题?
Dim*_*ets 13
我偶然发现了同样的问题.您应该pg全局安装模块.这是命令:
npm install -g pg
Run Code Online (Sandbox Code Playgroud)
你需要拥有
$ npm install pg --save
$ npm install pg-hstore --save
$ npm install sequelize --save
Run Code Online (Sandbox Code Playgroud)
同时也单独创建数据库,sequelize不会为您创建数据库.
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'
});
});
Run Code Online (Sandbox Code Playgroud)
医生说:
随着 Sequelizev1.6.0 的发布,该库独立于特定的方言。这意味着您必须自己添加相应的方言库。另一种选择是使用附带方言库的sequelize 包。
那么您可能错过了需要该库,请参阅Sequelize 文档。