Hello, thanks for your help @vince It does work with associate inside model, as follow:
import { DataTypes, Sequelize } from 'sequelize';
import BaseModel from './base-model';
import { User } from './user';
export class Company extends BaseModel {
public name!: string;
public users!: User[];
static associate = models => {
Company.hasMany(models.user, {
foreignKey: {
name : 'companyIdKey',
field: 'company_id',
},
as: 'users',
});
};
}
export default (sequelize: Sequelize): typeof Company => {
Company.init(
{
// uuid : { type: DataTypes.UUID, },
name : { type: DataTypes.STRING, },
created_at: {
type : 'TIMESTAMP',
defaultValue: 'now()',
},
updated_at: { type: DataTypes.DATE, },
}, {
tableName : 'company',
modelName : 'company',
underscored: true,
sequelize
}
);
return Company;
};
ps: BaseModel is a simple model like this
/* eslint-disable camelcase */
import { Model } from 'sequelize';
export default class BaseModel extends Model {
public id!: number;
public readonly created_at: Date;
public readonly updated_at: Date;
}
(ps: i deleted a comment about something not working i just had a pending migration haha )