нормальная ли практика проектировать mysql бд так (таблица promo): столбец entity, которая может быть либо game, либо post, либо user; столбец entityId, которая указывает id entity. например: entity: user, entityId: 2 (userId = 2); entity: post, entityId: 3 (postId=3). Соответственно в таком случае не получится создать связь столбца с конкретной таблицей, тк столбец может относиться к разным таблицам, в зависимости от entity
Делайте связи в обратную сторону - добавьте в таблицы user, и game внешние ключи на promo. EntityId в таком случае просто не нужен (ну, или его можно сделать первичным ключом в promo).