Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

224
Vistas
Forzar el nombre de la tabla de la base de datos para la relación de colección en Sails

En un proyecto de velas, considerando un modelo User y un modelo Role , con una relación entre Usuario y Rol:

 // `User.js module.exports = { attributes: { ... roles: { collection: 'role', dominant: true }, ... } }

Para la representación de la base de datos, sails/waterline creará las siguientes tablas:

  • usuario de mesa,
  • rol de mesa,
  • tabla como user_roles__role_roles_role para representar la colección

Sé que podemos forzar el nombre de los modelos USER y ROLE (con la propiedad 'tablename': http://sailsjs.com/documentation/concepts/models-and-orm/attributes ).

Pero, ¿cómo podemos forzar el nombre de la tabla de relaciones? (Especialmente este nombre es bastante largo y tiende a exceder el límite).

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Suponiendo que se trata de una relación bidireccional y que el modelo de roles tiene una colección de users , Sails esperará una tabla denominada role_users__user_roles , que tiene primero el ID de rol y luego el ID de usuario.

Su nombre de tabla de ejemplo requeriría que el usuario sea dominante y que el modelo de roles tenga un atributo llamado roles_role que es una colección de usuarios.

Para crear su propia tabla de combinación, puede usar el método through asociación directa y agregar un nuevo modelo que represente la relación, tal vez UsersRoles , y especificar tableName en esa definición de modelo.

Ejemplos de la asociación through :

  • documentos de velas
  • pregunta similar
  • esencia de los comentarios en esa pregunta
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda