jm_p_op

FK 본문

Node.js/Express

FK

jm_p_op 2024. 4. 28. 14:34

one to one field

migrations/userinfo.js

queryInterface.createTable('UserInfos',{
      userId:{
        type: Sequelize.STRING,
        references:{
          model:'Users',
          key:'id'
        },
        primaryKey:true,
        unique:true,
      }
  • one to one field를 위한 unqiue값 설정
  • type은 받아오는것이랑 같은것으로 제작
  • references FK 받아는 filed와 값 정의
  • Users.id 는 notnull 설정

models/userinfo.js

UserInfo.init({
    userId:{
    primaryKey:true,
    type: DataTypes.STRING,
    unique:true
    })
  • 다른 칼럼처럼 작성하면 된다.
static associate(models) {
      // define association here
      this.belongsTo(models.User,{foreignKey:"userId"})
    }
  • FK
    • BelongsTo
    • BelongsToMany
  • PK
    • HasOne
    • HasMany

modules/userinfo-create.js

UserInfo.create({"userId":id})