diff --git a/package.json b/package.json index d216547..faf81df 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "start:dev": "NODE_ENV=development nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", - "migration:run": "typeorm migration:run -d dist/database/data-source.js", + "migration:run": "npm run build && typeorm migration:run -d dist/database/data-source.js", + "migration:run:dev": "typeorm-ts-node-commonjs migration:run -d src/database/data-source.ts", "migration:revert": "typeorm migration:revert -d dist/database/data-source.js", "migration:generate": "typeorm migration:generate -d src/database/data-source.ts", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", diff --git a/src/database/data-source.ts b/src/database/data-source.ts index d5a94f8..9b6be4a 100644 --- a/src/database/data-source.ts +++ b/src/database/data-source.ts @@ -1,6 +1,9 @@ import 'dotenv/config'; +import { join } from 'path'; import { DataSource } from 'typeorm'; +const isCompiled = __filename.endsWith('.js'); + export default new DataSource({ type: 'postgres', host: process.env.DB_HOST, @@ -8,6 +11,7 @@ export default new DataSource({ username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, - entities: ['src/**/*.entity.ts'], - migrations: ['src/database/migrations/*.ts'], + entities: [join(__dirname, '../**/*.entity.{js,ts}')], + migrations: [join(__dirname, '/migrations/*.{js,ts}')], + ...(isCompiled ? {} : { requireTsNode: true }), });