Как указать ormcofig.js в typeorm

#javascript #node.js #typescript #nestjs #typeorm

#javascript #node.js #typescript #nestjs #typeorm

Вопрос:

У меня есть typescript проект и я создаю следующий ormconfig.js файл в проекте.

 module.exports = {
  type: 'mysql',
  host: 'db',
  port: 3306,
  username: 'root',
  password: 'test',
  database: 'db',
  entities: ['dist/entities/**/*.entity.js'],
  migrations: ['dist/migrations/develop/**/*.js'],
  logging: true,
};

  

В моем проекте следующее tsconfig.json также создано в каталоге проекта.

 {
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true
  }
}
  

после

npm run build

.ts был скомпилирован в следующие каталоги.

 -dist
  -migrations
    -develop
  -entities
    -entity1.js
    -entity2.js
  

Затем я попробовал следующее typeorm migration

npm run typeorm migration:create -- -n migration

файл миграции генерируется в корневом каталоге, а не в указанном каталоге миграции.

ormconfig.js кажется, не указано .

package.json заключается в следующем

"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js --config ormconfig.js"

Где неправильная точка? Как я могу это исправить?

Спасибо

Ответ №1:

файл миграции генерируется в корневом каталоге, а не в указанном каталоге миграции.

Вы можете установить каталог для сгенерированных миграций, добавив его cli: { migrationsDir: "dist/migrations/develop" } в свой ormconfig.js файл.
migrations Свойство указывает только, откуда typeorm будет загружать миграции.
Смотрите документацию

ormconfig.js кажется, не указано .

Я не уверен, что вы имеете в виду под этим, не могли бы вы уточнить?