Как сохранить название ассоциации в нижнем регистре? - PullRequest
0 голосов
/ 22 марта 2020

Невозможно получить мой foreignKey в нижнем регистре, все мои ассоциации - PascalCase.

Итак, у меня есть простая таблица "user" с role_id (foreignKey), и у меня есть таблица "role". Так что при создании пользователя все работает нормально. Но когда я запрашиваю его, ищите имя ForeignKey, например, RoleId вместо role_id.

module.exports = (sequelize, DataTypes) => {
  const Role = sequelize.define('Role', {
    name: DataTypes.STRING
  }, {
    tableName: "role"
  });
  Role.associate = function (models) {
    // associations can be defined here
    Role.hasMany(models.User)
  };
  return Role;
}

module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    id: {
      type: DataTypes.UUID,
      primaryKey: true,
      defaultValue: DataTypes.UUIDV4,
      allowNull: false,
      autoIncrement: false,
    },
    email: DataTypes.STRING,
    password: DataTypes.STRING,
    role_id: DataTypes.INTEGER,
    name: DataTypes.STRING,
    MerchantId: DataTypes.STRING
  }, {
    tableName: 'user'
  });
  User.associate = function (models) {
    User.belongsTo(models.Role)
    User.belongsTo(models.Merchant)
  };
  return User;
};

Любое решение, чтобы сохранить все имя lower_case_underscore?

1 Ответ

0 голосов
/ 22 марта 2020

Попробуйте

User.belongsTo(models.Role, { foreignKey: 'role_id' ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...