Skip to main content

sequilize Referencing column 'partner_id' and referenced column 'id' in foreign key constraint 'partnerserviceareas_ibfk_1' are incompatible

This is my partner model

const { Sequelize, DataTypes } = require('sequelize');
const sequelize = require('../connection');

const PartnerInfo = sequelize.define(
  'partnerinfo',
  {
    id: {
      type: DataTypes.UUID,
      allowNull: false,
      defaultValue: Sequelize.UUIDV4,
      primaryKey: true,
    },
    name: {
      type: DataTypes.STRING,
      allowNull: false,
    },
    email: {
      type: DataTypes.STRING,
      allowNull: false,
      unique: true,
    },
    phone: {
      type: DataTypes.STRING,
      allowNull: false,
      unique: true,
    },
    loginSecret: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    gender: {
      type: DataTypes.INTEGER,
      defaultValue: 0, // 0:Female 1:male
    },
    dob: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    image: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    type: {
      type: DataTypes.INTEGER,
      defaultValue: 0, // 0:Value 1:Elite
    },
    joiningDate: {
      type: DataTypes.STRING,
      allowNull: false,
    },
    termination_date: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    line1: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    line2: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    landmark: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    city: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    state: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    country: {
      type: DataTypes.STRING,
      allowNull: true,
    },
    pincode: {
      type: DataTypes.STRING,
      allowNull: true,
    },
  },
  {
    timestamps: true,
  }
);

module.exports = PartnerInfo;

const { Sequelize, DataTypes } = require('sequelize');
const sequelize = require('../connection');
const PartnerInfo = require('./partnerinfo');
const ServiceArea = require('./servicearea');

const PartnerServiceArea = sequelize.define('partnerservicearea', {
  id: {
    type: DataTypes.UUID,
    allowNull: false,
    defaultValue: Sequelize.UUIDV4,
    primaryKey: true,
  },
  partner_id: {
    type: DataTypes.UUID,
    allowNull: false,
    references: {
      model: 'partnerinfos',
      key: 'id',
    },
  },
  servicearea_id: {
    type: DataTypes.CHAR,
    allowNull: false,
  },
});

PartnerServiceArea.belongsTo(PartnerInfo, {
  foreignKey: {
    name: 'partner_id',
    allowNull: false,
  },
  targetKey: 'id',
});

PartnerInfo.hasMany(PartnerServiceArea, {
  foreignKey: {
    name: 'partner_id',
    allowNull: false,
  },
  targetKey: 'id',
  onDelete: 'CASCADE',
  onUpdate: 'CASCADE',
});

PartnerServiceArea.belongsTo(ServiceArea, {
  foreignKey: {
    name: 'servicearea_id',
    allowNull: false,
  },
  targetKey: 'id',
  onDelete: 'CASCADE',
  onUpdate: 'CASCADE',
});

ServiceArea.hasMany(PartnerServiceArea, {
  foreignKey: {
    name: 'servicearea_id',
    allowNull: false,
  },
  targetKey: 'id',
  onDelete: 'CASCADE',
  onUpdate: 'CASCADE',
});

module.exports = PartnerServiceArea;

These are the two models I am trying to associate and also using default sync.

I need help with the linking and want to use complex query

This is the SQL query

CREATE TABLE IF NOT EXISTS `partnerserviceareas` 
(
     `id` CHAR(36) BINARY NOT NULL, 
     `partner_id` CHAR(36) BINARY NOT NULL, 
     `servicearea_id` CHAR(255) NOT NULL, 
     `createdAt` DATETIME NOT NULL, 
     `updatedAt` DATETIME NOT NULL, 

     PRIMARY KEY (`id`), 
     FOREIGN KEY (`partner_id`) REFERENCES `partnerinfos` (`id`) 
             ON DELETE NO ACTION ON UPDATE CASCADE, 
     FOREIGN KEY (`servicearea_id`) REFERENCES `service_areas` (`id`) 
             ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

and the error is

Referencing column 'partner_id' and referenced column 'id' in foreign key constraint 'partnerserviceareas_ibfk_1' are incompatible

Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW

Comments

Popular posts from this blog

Prop `className` did not match in next js app

I have written a sample code ( Github Link here ). this is a simple next js app, but giving me error when I refresh the page. This seems to be the common problem and I tried the fix provided in the internet but does not seem to fix my issue. The error is Warning: Prop className did not match. Server: "MuiBox-root MuiBox-root-1" Client: "MuiBox-root MuiBox-root-2". Did changes for _document.js, modified _app.js as mentioned in official website and solutions in stackoverflow. but nothing seems to work. Could someone take a look and help me whats wrong with the code? Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console