Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

253
Visualizações
No se puede agregar una restricción de clave externa: SEQUELIZE

Pensé que se suponía que un error como este estaba asociado con la falta de coincidencia del tipo de campo (tipo de datos). pero esto ha resultado ser falso ya que he intentado cambiar los tipos de datos en la identificación de la tabla y la clave externa a entero y uuid, pero sigue siendo el mismo resultado. También me gustaría señalar que soy totalmente nuevo en nodejs para que sepa de dónde vengo ...

migración/xxxxxxx-demo-user.js

 'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable('Users', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, allowNull: false, primaryKey: true }, firstName: { type: Sequelize.STRING }, lastName: { type: Sequelize.STRING }, email: { type: Sequelize.STRING }, phoneNumber: { type: Sequelize.STRING }, country: { type: Sequelize.STRING }, PlanId: { type: Sequelize.UUID, references: { model: 'Plans', key: 'id' }, onUpdate: 'CASCADE', onDelete: 'SET NULL', }, password: { type: Sequelize.STRING }, createdAt: { allowNull: false, type: Sequelize.DATE }, updatedAt: { allowNull: false, type: Sequelize.DATE } }); }, down: async (queryInterface, Sequelize) => { await queryInterface.dropTable('Users'); } };

migraciones/xxxxxx-demo-plan.js

 'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable('Plans', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, allowNull: false, primaryKey: true }, title: { type: Sequelize.STRING }, createdAt: { allowNull: false, type: Sequelize.DATE }, updatedAt: { allowNull: false, type: Sequelize.DATE } }); }, down: async (queryInterface, Sequelize) => { await queryInterface.dropTable('Plans'); } };

Mensaje de error

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Intente cambiar el nombre de los archivos de migración "xxxxxxx-demo-user.js" y "xxxxxxx-demo-plan.js". Como al principio, ejecutó migraciones de usuarios antes de la migración del plan, por eso su campo "planId" (de la tabla de usuarios) apunta a la tabla de planes no existentes. Prueba algo como esto y vuelve a ejecutar las migraciones:

 20210918101111-demo-plan.js 20210918102222-demo-user.js
 sequelize db:migrate:undo:all sequelize db:migrate
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda