鉴于此ERD,我试图找出为什么未在documentChildren
和documentAttribute
上创建外键的原因,因为它们各自都有一列,该列应为document
的FK
我的续集模型都运行良好,但是我很好奇我在做错什么,因为没有生成真正的FK。
文档迁移:
'use strict'
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('documents', {
id: {
allowNull: false,
primaryKey: true,
type: Sequelize.UUID,
defaultValue: Sequelize.UUIDV4
},
...
})
}
...
}
documentChildren迁移:
'use strict'
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('documentChildren', {
id: {
allowNull: false,
primaryKey: true,
type: Sequelize.UUID,
defaultValue: Sequelize.UUIDV4
},
documentId: {
allowNull: false,
type: Sequelize.UUID,
references: {
model: 'documents',
key: 'id'
}
},
...
})
}
...
}
documentAttribute迁移:
'use strict'
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('documentAttributes', {
id: {
allowNull: false,
primaryKey: true,
type: Sequelize.UUID,
defaultValue: Sequelize.UUIDV4
},
documentId: {
allowNull: false,
type: Sequelize.UUID,
references: {
model: 'documents',
key: 'id'
}
},
...
})
}
...
}
文档模型关联:
document.associate = function (models) {
document.hasMany(models.documentAttribute)
document.hasMany(models.documentChildren)
}
答案 0 :(得分:1)
您的代码显示
def normalize(val):
if val < 100:
return 1
elif val > 100 and val < 350:
return 2
else:
return 3
df['NO2'] = df['NO2'].apply(normalize)
"documentId" uuid NOT NULL REFERENCES documents(id)
是FK。选中postgresql-docs
您对索引的创建感到困惑,但这并不意味着拥有FK。