Sequelize CLI Migrace classMethod Change

hlasů
0

Snažím se aktualizovat vztah mezi tabulkami v mé soubory modelů, které mají mnoho-to-many vztahy. V současné době jsem stále chyby s příkazem, že se snažím používat výchozí povahy, že vztah musí být jedinečný. V důsledku toho chci, aby jednoduchou úpravu přidávání objektů má belongsToManyse unique: false, ale nejsem si jist, správný formát pro použití v souboru migrace. Tam se nezdá být jakákoliv dokumentace na queryInterfacepovel pro změnu classMethod. Ještě jsem ani potřebovat migračního souboru?

Chci změnit tento:

classMethods: {
        associate: function(db) {
            User.belongsToMany(db.Organization, { through: 'member', foreignKey: 'user_id'}),
            User.belongsToMany(db.Team, { through: 'member', foreignKey: 'user_id'})
        },

na to ( unique: false)

classMethods: {
        associate: function(db) {
            User.belongsToMany(db.Organization, { through: 'member', unique: false, foreignKey: 'user_id'}),
            User.belongsToMany(db.Team, { through: 'member', unique: false, foreignKey: 'user_id'})
        },
Položena 03/09/2016 v 14:45
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Nevím, jestli je to váš problém, ale sequelize-CLI se model:creategeneruje vymezením modelů postaru. classMethodsse již nepoužívá od sequelize v4. http://docs.sequelizejs.com/manual/tutorial/upgrade-to-v4.html

Postaru:

module.exports = function(sequelize, DataTypes) {
  var Profile = sequelize.define('profile', {
    bio: DataTypes.TEXT,
    email: DataTypes.STRING
  }, {
    classMethods: {
      associate: function(models) {
        // associations can be defined here
        Profile.belongsTo(models.user);
      }
    }
  });
  return Profile;
};

Nová cesta:

module.exports = function(sequelize, DataTypes) {
  var Profile = sequelize.define('profile', {
    bio: DataTypes.TEXT,
    email: DataTypes.STRING
  });

  Profile.associate = function(models) {
    Profile.belongsTo(models.user);
  };

  return Profile;
};
Odpovězeno 20/06/2017 v 05:15
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more