Olá, tudo certo? Primeiramente, obrigado por postar aqui e ajudar a crirar conteúdo e trocar experiências.
Mas indo ao assunto, poderia explicar o por que a decisão de criar o likesCount e uma table para Like, sendo que elas não estão sendo realmente usadas em conjunto (além da ligação de chaves)?
Se você optasse por manter a table de Like, poderia contabilizar a quantidade usando um select count, sem precisar ter um atributo de likesCount no post, e entendo que poderia salvar outras informaçãos nessa tabela que justificariam sua existência, como o user que deu o like, e etc.
Porém da forma apresentada, nota-se que pra dar um like você precisa criar uma row de Like, e então dar um update no Post pra atualizar essa contagem.
Se foi por algum motivo que não entendi, pode dar mais detalhes por favor :)