我使用dynamoose创建了一个简单的模型,现在我想使用sequelize将其迁移到postgresql中。我熟悉dynamodb以及如何在其中设置哈希键和范围键,但是如何使用sequelize在postgresql中完成相同的工作?以下是我先前使用dynamoose的模型,以及我尝试使用sequelize进行迁移的方法,但是我不确定如何处理按键:
//dynamoose
var dynamoose = require("dynamoose");
var MessageRatingSchema = new dynamoose.Schema({
id: {
type: String,
index: {
global: true
}
},
chatId: {
type: String,
hashKey: true
},
ratingType: {
type: String,
enum: ["NEGATIVE", "POSITIVE", "NEUTRAL", "MIXED"],
rangeKey: true
},
rating: {
type: Number
}
});
module.exports = MessageRatingSchema;
尝试使用续集进行迁移:
const Sequelize = require("sequelize");
const sequelize = new Sequelize('PGDATABASE', 'PGUSER', 'PGPASS', {
host: 'localhost',
dialect: 'postgres'
});
const MessageRating = sequelize.define('MessageRating', {
id: {
type: Sequelize.STRING,
primaryKey: true
},
chatId: {
type: Sequelize.STRING
//hashkey
},
ratingType: {
type: Sequelize.STRING,
enum: ["NEGATIVE", "POSITIVE", "NEUTRAL", "MIXED"]
//sortkey
},
rating:{
type: Sequelize.NUMBER
}
}, {
// options
});
module.exports = MessageRating;
请告诉我这是否正确,以及如何使用sequelize设置相应的hashKeys和rangeKeys。谢谢。
答案 0 :(得分:0)
我正在使用TypeORM做类似的事情,但是对于Sequelize Associations来说,您只需要设置外键,就像这样:
chatId: {
type: Sequelize.STRING,
references: {
model: Chat,
key: 'id'
}
}