diff --git a/packages/services/conversation-service/package.json b/packages/services/conversation-service/package.json index ff071da..77f5daf 100644 --- a/packages/services/conversation-service/package.json +++ b/packages/services/conversation-service/package.json @@ -11,7 +11,11 @@ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"", "test": "jest", "test:watch": "jest --watch", - "test:cov": "jest --coverage" + "test:cov": "jest --coverage", + "typeorm": "typeorm-ts-node-commonjs", + "migration:run": "npm run typeorm migration:run -- -d src/data-source.ts", + "migration:revert": "npm run typeorm migration:revert -- -d src/data-source.ts", + "migration:generate": "npm run typeorm migration:generate -- -d src/data-source.ts" }, "dependencies": { "@anthropic-ai/sdk": "^0.52.0", @@ -41,8 +45,11 @@ "@types/node": "^20.10.0", "@types/socket.io": "^3.0.2", "@types/uuid": "^9.0.0", + "dotenv": "^16.3.0", "jest": "^29.7.0", "ts-jest": "^29.1.0", + "ts-node": "^10.9.0", + "tsconfig-paths": "^4.2.0", "typescript": "^5.3.0" } } diff --git a/packages/services/conversation-service/src/data-source.ts b/packages/services/conversation-service/src/data-source.ts new file mode 100644 index 0000000..a1def8c --- /dev/null +++ b/packages/services/conversation-service/src/data-source.ts @@ -0,0 +1,19 @@ +import { DataSource } from 'typeorm'; +import * as dotenv from 'dotenv'; + +// Load environment variables +dotenv.config({ path: '.env.local' }); +dotenv.config({ path: '.env' }); + +export const AppDataSource = new DataSource({ + type: 'postgres', + host: process.env.POSTGRES_HOST || 'localhost', + port: parseInt(process.env.POSTGRES_PORT || '5432', 10), + username: process.env.POSTGRES_USER || 'iconsulting', + password: process.env.POSTGRES_PASSWORD, + database: process.env.POSTGRES_DB || 'iconsulting', + entities: [__dirname + '/**/*.entity{.ts,.js}'], + migrations: [__dirname + '/migrations/*{.ts,.js}'], + synchronize: false, + logging: true, +});