Por aqui tive o mesmo erro. Aí com ajuda de IA, cheguei em algumas conclusões:
- O erro estava sendo causado por conta do código estar baseado em 'esm' e meu tsconfig.json estava com "module":"CommomJS";
- Tentei até mudar para "module": "ESNext" para tentar adaptar, mas aí pipocou mais erros import na minha aplicação que já funcionava;
- Aí então a IA (gpt) me sugeriu testar comando com:
ts-node ./node_modules/typeorm/cli
O que funcionou...
Logo ela me sugeriu os seguintes scripts já mais "certos" no package.json:
"typeorm": "ts-node ./node_modules/typeorm/cli",
"migration:show": "yarn typeorm migration:show --dataSource src/db/data-source-cli.ts",
"migration:generate": "yarn typeorm migration:generate src/db/migrations/cria-tabelas --dataSource src/db/data-source-cli.ts",
"migration:run": "yarn typeorm migration:run --dataSource src/db/data-source-cli.ts"
Isso ficou um pouco ruim para entender a lógica exatamente do que estou fazendo. Vou ter que ter este projeto sempre disponivel para pegar essa referência de código.
Outra coisa que não é explicado pelo professor é que no momento em que as tabelas já haviam sido rodadas anteriormente com "synchronize: true", após apagar, deveríamos ir lá e apagar as tabelas no Banco de Dados, senão a migration não funciona (ou forçar uma mudança na entidade, por exemplo adicionei uma nova coluna "temp" e rodei a migration e logo após, removi a coluna da Entity e rodei novamente.)