10
respostas

[Dúvida] ERRO na MIGRATION (políticas de execução de scripts )

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

10 respostas

Já resolvi a questão da politica de script, porém agora nao esta conseguindo abrir meu data-source-cli, porém ja verifiquei o diretório, conferi o código.. oque pode ser ? o tipo do module do meu ts.config está "Common" pode ser isso ?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Uma pena que o forum é demorado d+ para adquirir alguma ajuda...

OLá, Renan! Tudo bem?

Normalmente é um erro de versão, a cli do typeorm não consegue encontrar o data-source.

Você poderia compartilhar o seu repositório no github e o seu package.json para eu conferir as versões?

Fico no aguardo!

Você pode alterar o package.json "typeorm": "typeorm-ts-node-esm --dataSource src/db/data-source-cli.ts" para chamar o arquivo.

O que acontece é que não consegue encontrar o arquivo, sugiro um downgrade para a versão 18.18.0 do Node.js ou que você mude a forma de chamar os scripts.

Alguns alunos descreveram que modificar typeorm-ts-node-esm, para typeorm-ts-node-common.js

Ficou desta forma: "migration:create": "typeorm-ts-node-commonjs -d src/db/data-source-cli.ts migration:generate src/db/migrations/cria-tabelas", "migration:run": "typeorm-ts-node-commonjs -d src/db/data-source-cli.ts migration:run"

Fico no aguardo.

Já alterei no package.json, mas msm assim não consigo! Não consigo gerar a migration relaciona-pedido-e-itemPedido tbm!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ahh e outra observação, já até troquei a versao do node para : 18.18.0

Mesmo criando as migrations na mão, pq elas não estão sendo encontradas para o run ? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi, Renan. Reproduzi os erros aqui e a solução mais simples foi fazer downgrade mesmo.

Só que tem uma coisa, a cli do typeorm é chatinha pra desinstalar, então vou compartilhar os passos do que eu fiz e o meu package.json com as versões. blz?

  1. apagar pasta node_modules
  2. Desinstalar globalmente o typeorm com o comando: npm uninstall -g typeorm
  3. Limpar o cache do npm com o comando: npm cache clean --force
  4. Verificar se realmente foi desinstalado com o comando: typeorm --version (tem que retornar um erro "O termo 'typeorm' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável. Verifique a grafia do nome ou, se um caminho tiver sido incluído, veja se o caminho está correto e tente novamente")
  5. Instalar dependências com : npm install do meu package.json
    "prebuild": "rimraf dist",
    "build": "nest build",
    "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "start": "nest start",
    "start:dev": "nest start --watch",
    "start:debug": "nest start --debug --watch",
    "start:prod": "node dist/main",
    "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:cov": "jest --coverage",
    "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
    "test:e2e": "jest --config ./test/jest-e2e.json",
    "typeorm": "typeorm-ts-node-esm --dataSource src/db/data-source-cli.ts"
  },
  "dependencies": {
    "@nestjs/cache-manager": "2.0.1",
    "@nestjs/common": "^9.0.0",
    "@nestjs/config": "^2.3.1",
    "@nestjs/core": "^9.0.0",
    "@nestjs/jwt": "10.1.0",
    "@nestjs/mapped-types": "*",
    "@nestjs/platform-express": "^9.0.0",
    "@nestjs/typeorm": "^9.0.1",
    "bcrypt": "5.1.0",
    "cache-manager": "5.2.3",
    "cache-manager-redis-yet": "4.1.2",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.13.2",
    "dotenv": "^16.0.3",
    "pg": "^8.9.0",
    "reflect-metadata": "^0.1.13",
    "rimraf": "^3.0.2",
    "rxjs": "^7.2.0",
    "typeorm": "^0.3.15"
  },
  "devDependencies": {
    "@nestjs/cli": "^9.0.0",
    "@nestjs/schematics": "^9.0.0",
    "@nestjs/testing": "^9.0.0",
    "@types/bcrypt": "^5.0.0",
    "@types/express": "^4.17.13",
    "@types/jest": "28.1.8",
    "@types/node": "^16.0.0",
    "@types/supertest": "^2.0.11",
    "@typescript-eslint/eslint-plugin": "^5.0.0",
    "@typescript-eslint/parser": "^5.0.0",
    "eslint": "^8.0.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^4.0.0",
    "jest": "28.1.3",
    "prettier": "^2.3.2",
    "source-map-support": "^0.5.20",
    "supertest": "^6.1.3",
    "ts-jest": "28.0.8",
    "ts-loader": "^9.2.3",
    "ts-node": "^10.0.0",
    "tsconfig-paths": "4.1.0",
    "typescript": "^4.7.4"
  },
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
    "rootDir": "src",
    "testRegex": ".*\\.spec\\.ts$",
    "transform": {
      "^.+\\.(t|j)s$": "ts-jest"
    },
    "collectCoverageFrom": [
      "**/*.(t|j)s"
    ],
    "coverageDirectory": "../coverage",
    "testEnvironment": "node"
  }
  1. Instalar versão específica do typeorm com o comando: npm install typeorm@0.3.15
  2. gerar migrations: typeorm-ts-node-esm --dataSource src/db/data-source-cli.ts migration:generate src/db/migrations/cria-tabelas

Obrigado agora eu consegui, porém sobre aquele erro que o cli não estava encontrando minhas migration(sendo que estava no caminho certo) , pq ?