code: function getAssociationOptions(name, opt, modelObj) {
      let options = {
        onDelete: 'CASCADE',
        onUpdate: 'CASCADE'
      };
      if (typeof opt.constraints !== 'boolean') {
        options.constraints = true;
      }
      let primaryObj = modelObj.getPrimary(),
        fk = (primaryObj ? primaryObj.name : 'id');
      fk = fk.charAt(0).toUpperCase() + fk.substr(1);
      let canBeNull = (typeof opt['allowNull'] === 'boolean' ? opt['allowNull'] : true);
      if (!opt.foreignKey) {
        options.foreignKey = {
          name: decamelize((opt.as || name) + fk, '_'),
          allowNull: canBeNull
        };
      } else if (typeof opt.foreignKey === 'string') {
        options.foreignKey = {
          name: options.foreignKey,
          allowNull: canBeNull
        };
      }
      return options;
    }
docs: /* PRIVATE