Имеются 2 модели
User:
@Table({
underscored: true,
tableName: "user",
modelName: "User"
})
export class User extends Model {
@IsUUID(4)
@PrimaryKey
@Column
readonly id!: string;
@Column({
type: DataType.STRING,
unique: true
})
readonly email!: string;
@Column({
type: DataType.STRING
})
public password: string;
@Column({
type: DataType.STRING
})
public salt: string;
@Column({
type: DataType.BOOLEAN,
})
public confirmed: boolean;
@Column({
type: DataType.BOOLEAN,
})
public activated: boolean;
@Column({
type: DataType.STRING
})
public code: string;
@Column({
allowNull: true,
type: DataType.DATE
})
public emailSendedAt: number | null;
@HasOne(() => Profile, {
onDelete: "CASCADE",
onUpdate: "CASCADE",
foreignKey: "userId",
})
public profileId: string | null;
}
Profile
@Table({
underscored: true,
tableName: "profile",
modelName: "Profile"
})
export class Profile extends Model {
@IsUUID(4)
@ForeignKey(() => User)
@PrimaryKey
@Column({
onDelete: "CASCADE",
onUpdate: "CASCADE",
})
readonly id!: string;
@Column({
type: DataType.STRING,
unique: true
})
readonly email!: string;
@Column({
allowNull: false,
type: DataType.JSONB
})
public modelRoot!: object;
@Column({
allowNull: false,
type: DataType.INTEGER,
})
public updateCounter!: number;
}
В базе создается модель User, после чего создается модель Profile.
const profile: ProfileDBModel = {
id: uuidv4(),
email: params.email
modelRoot: params.modelRoot,
updateCounter: 0,
};
await Profile.create(profile)
На этапе Profile.create получаю ошибку такого формата:
insert or update on table \"profile\" violates foreign key constraint \"profile_id_fkey\"
Как это можно пофиксить?