2015-09-04 55 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' ]