나는 Node.js를 배우고 및 항해 선택의 내 프레임 워크입니다. 나는 MySQL의 DB를 가진 프로젝트에서 사용하고 싶은 나는 Sequelize ORM은보다 완벽한라고 생각합니다. 워터 라인 대신 돛에서 Orm Sequelize를 어떻게 사용할 수 있습니까?항해의 JS와 Sequelize
덕분에
나는 Node.js를 배우고 및 항해 선택의 내 프레임 워크입니다. 나는 MySQL의 DB를 가진 프로젝트에서 사용하고 싶은 나는 Sequelize ORM은보다 완벽한라고 생각합니다. 워터 라인 대신 돛에서 Orm Sequelize를 어떻게 사용할 수 있습니까?항해의 JS와 Sequelize
덕분에
나는 돛이 sequelize 태어났다 당신이 할 수있는 생각합니다.
당신은 Mike McNeil's answer here을 읽을 수 그가 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
}
모델 폴더에서 0
somePostgresqlServer: {
user: 'postgres',
password: '',
database: 'database',
options: {
host : 'localhost',
port : 5432,
logging: true
}
}
// userstable 보자 예를 들어 ->이
module.exports = {
attributes: {
firstname: {
type: Sequelize.STRING,
allowNull: false
},
secondname: {
type: Sequelize.STRING,
allowNull: false
},
}
}
};
을 users.js 또는 연결을위한 또 다른 방법은 별도의 파일이 db.js 만들
module.exports = {
dbPath: function() {
return ("postgres://postgres:(user)@localhost:5432/(databasename)");
}
}
우선
npm install sails-hook-sequelize --save
: 당신은 pakage 돛 훅 - sequelize을 intsall해야한다
이
"hooks": {
"orm": false,
"pubsub": false
}
파일이
module.exports.models = {
schema: true,
connection: 'mysql',
migrate: 'safe'
};
파일을 ./config/models.js .sailsrc
초 편집 파일
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에서 모델을 정의 ./config/connections.js /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){
})
행운을 빕니다 ^^.
우리의 프로젝트는 년 전에 시작되었다, 그러나 지금 우리는 sequelize에 이동해야합니다. 리팩토링을 수행하기 전에 둘 다 병렬로 사용할 수 있습니까? – Crusader