Olá, John!
Pelo que você descreveu, parece que você está enfrentando dois problemas distintos ao tentar gerar e executar migrações no Nest.js usando TypeORM.
O primeiro erro que você encontrou, "No changes in database schema were found - cannot generate a migration", sugere que o TypeORM não identificou nenhuma alteração no esquema do banco de dados em relação ao estado atual das entidades. Isso geralmente acontece quando as entidades estão sincronizadas com o banco de dados e não há alterações pendentes. Certifique-se de que você fez alterações nas entidades que ainda não foram refletidas no banco de dados antes de tentar gerar uma migração.
O segundo erro, "Argumento desconhecido: dataSource", indica que há um problema com o comando que você está usando para executar a migração. No contexto que você forneceu, é mencionado que você deve criar um script no package.json
para facilitar a execução dos comandos do TypeORM. O script sugerido é:
"typeorm": "typeorm-ts-node-esm --dataSource src/db/data-source-cli.ts"
Então, ao invés de executar o comando npm run typeorm migration:generate src/db/migrations/cria-tabelas
, você deve usar o script criado no package.json
. O comando correto seria algo como:
npm run typeorm migration:generate -- -n criaTabelas
Note que usamos --
para passar argumentos adicionais para o script npm e -n
para especificar o nome da migração.
Agora, sobre o código que você compartilhou na imagem, ele parece ser o arquivo data-source.ts
ou similar, que configura a conexão com o banco de dados. Não há nada de errado aparente com o código na imagem, mas se você estiver tendo problemas relacionados a esse arquivo, certifique-se de que todas as variáveis de ambiente necessárias (DB_HOST
, DB_PORT
, DB_USERNAME
, DB_PASSWORD
, DB_NAME
) estão corretamente configuradas e acessíveis no seu ambiente de desenvolvimento.
Espero ter ajudado e bons estudos!