В queryRunner есть метод с именем createForeignKey
. В файле миграции, где вы создаете таблицу, это может выглядеть так:
export class ExampleMigration implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.createTable(
new Table({
name: 'stuff',
columns: [
{
name: 'id',
type: 'uuid',
isPrimary: true
},
{
name: 'userId',
type: 'uuid'
}
]
})
);
await queryRunner.createForeignKey(
'stuff',
new TableForeignKey({
columnNames: ['userId'],
referencedTableName: 'users',
referencedColumnNames: ['id']
})
);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.dropTable('userSessions');
}
}