Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

441
Views
Secuela de la migración de MySQL - único a falso

Estoy tratando de escribir una migración en Sequelize y MySQL, que establece el atributo único en falso. Este es mi enfoque hasta ahora:

 module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.changeColumn("users", "name", { type: Sequelize.STRING, allowNull: false, unique: true, }); await queryInterface.changeColumn("users", "email", { type: Sequelize.STRING, allowNull: false, unique: true, }); }, down: async (queryInterface, Sequelize) => { await queryInterface.changeColumn("users", "name", { type: Sequelize.STRING, allowNull: true, unique: false, }); await queryInterface.changeColumn("users", "email", { type: Sequelize.STRING, allowNull: true, unique: false, }); }, };

La migración hacia arriba funciona de maravilla, la migración hacia abajo funciona para allowNull, pero no para un atributo único. Soy nuevo en Sequelize, así que me pregunto qué está fallando aquí. ¿Alguien me puede ayudar?

Muchas gracias por adelantado.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sequelize tiene el método "removeConstraint", mediante el cual podrá eliminar la restricción del atributo.

 public removeConstraint(tableName: string, constraintName: string, options: Object): Promise

En realidad, si no especifica el "nombre de restricción" al crear, debe tener la forma "nombre_atributo_clave_única".

Por favor intente usar de esta manera

 module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.changeColumn("users", "name", { type: Sequelize.STRING, allowNull: false, unique: true, }); await queryInterface.changeColumn("users", "email", { type: Sequelize.STRING, allowNull: false, unique: true, }); }, down: async (queryInterface, Sequelize) => { await queryInterface.changeColumn("users", "name", { type: Sequelize.STRING, allowNull: true, }); await queryInterface.removeConstraint("users", "name_unique_key"); await queryInterface.changeColumn("users", "email", { type: Sequelize.STRING, allowNull: true, }); await queryInterface.removeConstraint("users", "email_unique_key"); }, };

Para obtener más información, consulte la documentación aquí .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!