2015-09-04 54 views
2

基本上,给定一个实例或模型,我想 一)知道,如果一个主键存在 B)知道,场(S)我如何获得续集模型的主键?

+0

我写的这是导入现有的数据库,并生成Sequelize模型前一段时间的导入脚本,我用'Model.describe()'解析结果并找到主键,索引,外键等。 –

+0

谢谢!我会根据你的提示构建一个答案。 –

回答

5

由于Soheil Jadidian的评论的名称;以下片段返回找到的主键数组。因此,它也适用于复合键。

Model.describe().then(function (schema) { 
    return Object.keys(schema).filter(function(field){ 
     return schema[field].primaryKey; 
    }); 
}).tap(console.log); 
1

看看Model.primaryKeyAttributes,它是主要的关键属性的字符串名称的数组:

console.dir(Model.primaryKeyAttributes); 

[ 'id' ]