Я изучаю Node.js, и я предпочитаю Sails. Я хочу использовать его в проекте с MySql db, и я думаю, что Sequelize Orm более совершенен. Как я могу использовать Sequelize Orm в Sails вместо Waterline?
Спасибо
Я изучаю Node.js, и я предпочитаю Sails. Я хочу использовать его в проекте с MySql db, и я думаю, что Sequelize Orm более совершенен. Как я могу использовать Sequelize Orm в 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
}
В соединениях.js
somePostgresqlServer: {
user: 'postgres',
password: '',
database: 'database',
options: {
host : 'localhost',
port : 5432,
logging: true
}
}
В папке модели
// например, возьмем usertable ->users.js
module.exports = {
attributes: {
firstname: {
type: Sequelize.STRING,
allowNull: false
},
secondname: {
type: Sequelize.STRING,
allowNull: false
},
}
}
};
или другой способ подключения создать отдельный файл db.js
module.exports = {
dbPath: function () {
return ("postgres://postgres:(user)@localhost:5432/(databasename)");
}
}
Сначала вы должны установить весь пакет парусов-крюка-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){
})
Удачи ^^.