Setup PostgreSQL database connection and test connectivity

master
nicekid1 2 months ago
parent 0e72128e4e
commit f434e9191c
  1. 21
      package-lock.json
  2. 1
      package.json
  3. 18
      src/app.module.ts
  4. 14
      src/config/database.config.ts

21
package-lock.json generated

@ -12,6 +12,7 @@
"@nestjs/common": "^10.0.0", "@nestjs/common": "^10.0.0",
"@nestjs/config": "^3.3.0", "@nestjs/config": "^3.3.0",
"@nestjs/core": "^10.0.0", "@nestjs/core": "^10.0.0",
"@nestjs/mapped-types": "*",
"@nestjs/platform-express": "^10.0.0", "@nestjs/platform-express": "^10.0.0",
"@nestjs/sequelize": "^10.0.1", "@nestjs/sequelize": "^10.0.1",
"pg": "^8.13.1", "pg": "^8.13.1",
@ -1695,6 +1696,26 @@
} }
} }
}, },
"node_modules/@nestjs/mapped-types": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.6.tgz",
"integrity": "sha512-84ze+CPfp1OWdpRi1/lOu59hOhTz38eVzJvRKrg9ykRFwDz+XleKfMsG0gUqNZYFa6v53XYzeD+xItt8uDW7NQ==",
"license": "MIT",
"peerDependencies": {
"@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0",
"class-transformer": "^0.4.0 || ^0.5.0",
"class-validator": "^0.13.0 || ^0.14.0",
"reflect-metadata": "^0.1.12 || ^0.2.0"
},
"peerDependenciesMeta": {
"class-transformer": {
"optional": true
},
"class-validator": {
"optional": true
}
}
},
"node_modules/@nestjs/platform-express": { "node_modules/@nestjs/platform-express": {
"version": "10.4.15", "version": "10.4.15",
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.4.15.tgz", "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.4.15.tgz",

@ -23,6 +23,7 @@
"@nestjs/common": "^10.0.0", "@nestjs/common": "^10.0.0",
"@nestjs/config": "^3.3.0", "@nestjs/config": "^3.3.0",
"@nestjs/core": "^10.0.0", "@nestjs/core": "^10.0.0",
"@nestjs/mapped-types": "*",
"@nestjs/platform-express": "^10.0.0", "@nestjs/platform-express": "^10.0.0",
"@nestjs/sequelize": "^10.0.1", "@nestjs/sequelize": "^10.0.1",
"pg": "^8.13.1", "pg": "^8.13.1",

@ -1,9 +1,19 @@
import { Module } from '@nestjs/common'; import { Module } from "@nestjs/common";
import { AppController } from './app.controller'; import { AppController } from "./app.controller";
import { AppService } from './app.service'; import { AppService } from "./app.service";
import { ConfigModule } from "@nestjs/config";
import { SampleModule } from './sample/sample.module';
import { SequelizeModule } from "@nestjs/sequelize";
import { databaseConfig } from "./config/database.config";
@Module({ @Module({
imports: [], imports: [
ConfigModule.forRoot({
isGlobal: true,
}),
SequelizeModule.forRoot(databaseConfig),
SampleModule,
],
controllers: [AppController], controllers: [AppController],
providers: [AppService], providers: [AppService],
}) })

@ -0,0 +1,14 @@
import { SequelizeModuleOptions } from '@nestjs/sequelize';
import * as dotenv from "dotenv";
dotenv.config();
export const databaseConfig: SequelizeModuleOptions = {
dialect: 'postgres',
host: process.env.DATABASE_HOST || 'localhost',
port: +process.env.DATABASE_PORT || 5432,
username: process.env.DATABASE_USER || 'postgres',
password: process.env.DATABASE_PASSWORD || 'password',
database: process.env.DATABASE_NAME || 'ecommerce',
autoLoadModels: true,
synchronize: true,
};
Loading…
Cancel
Save