风帆js和Sequelize
我正在学习Node.js和Sails是我的select框架。 我想在MySql数据库的项目中使用它,我认为Sequelize Orm更完整。 我怎样才能使用Sequelize Orm in Sails而不是Waterline?
谢谢
我想你可以像风帆一起诞生。
你可以在这里阅读迈克·麦克尼尔的答案,也可以直接询问迈克是否会重新引入续集支持
有两个项目最近出来,我已经努力重新提供完整的支持包括蓝图的续集。
帆形钩-sequelize
帆形钩-sequelize-蓝图
看到我的答案
$ npm install sails-hook-sequelize $ npm install sails-hook-sequelize-blueprints $ npm install sequelize $ npm install pg pg-hstore $ npm install continuation-local-storage
.sailsrc
"hooks": { "blueprints": false, "orm": false, "pubsub": false }
在connections.js中
somePostgresqlServer: { user: 'postgres', password: '', database: 'database', options: { host : 'localhost', port : 5432, logging: true } }
在模型文件夹中
//例如let take userstable – > users.js
module.exports = { attributes: { firstname: { type: Sequelize.STRING, allowNull: false }, secondname: { type: Sequelize.STRING, allowNull: false }, } } };
或另一种连接方法创build单独的文件db.js
module.exports = { dbPath: function () { return ("postgres://postgres:(user)@localhost:5432/(databasename)"); } }
首先,你必须填写pakage sails-hook-sequelize:
npm install sails-hook-sequelize --save
秒编辑文件.sailsrc
"hooks": { "orm": false, "pubsub": false }
文件./config/models.js
module.exports.models = { schema: true, connection: 'mysql', migrate: 'safe' };
文件./config/connections.js
module.exports.connections = { mysql: { adapter: 'sails-mysql', port: 3306, user: 'root', password: '123456', database: 'TestDataBase', charset: 'utf8', collation: 'utf8-general_ci', options: { host: 'localhost' } } };
在./api/models/UserAccount.js中定义模型
module.exports = { attributes: { ID: { type: Sequelize.BIGINT(20), autoIncrement: true, allowNull: false, primaryKey: true }, UID: { type: Sequelize.STRING(255), allowNull: false, defaultValue: Sequelize.UUIDV4, }, UserName: { type: Sequelize.STRING(50), allowNull: true } }, associations: function() {}, options: { tableName: 'UserAccount', createdAt: 'CreatedDate', updatedAt: 'ModifiedDate', hooks: {} } };
最后,使用模式:
UserAccount.findAll({}).then(function(success){}, function(err){ })
祝你好运^^