Nest JS и TypeORM не могут подключиться к моей локальной базе данных Postgres. Утверждает, что моя база данных не существует, даже если она существует - PullRequest
0 голосов
/ 11 марта 2020

У меня есть приложение Nest JS, которое использует TypeORM для подключения к моей локальной базе данных. Я создаю базу данных с помощью сценария оболочки:

#!/bin/bash
set -e

SERVER="my_database_server";
PW="mysecretpassword";
DB="my_database";

echo "echo stop & remove old docker [$SERVER] and starting new fresh instance of [$SERVER]"
(docker kill $SERVER || :) && \
  (docker rm $SERVER || :) && \
  docker run --name $SERVER -e POSTGRES_PASSWORD=$PW \
  -e PGPASSWORD=$PW \
  -p 5432:5432 \
  -d postgres

# wait for pg to start
echo "sleep wait for pg-server [$SERVER] to start";
SLEEP 3;

# create the db 
echo "CREATE DATABASE $DB ENCODING 'UTF-8';" | docker exec -i $SERVER psql -U postgres
echo "\l" | docker exec -i $SERVER psql -U postgres

После этого она регистрирует базы данных: enter image description here

Затем я запускаю свое приложение и сталкиваюсь с ошибкой " ошибка: база данных "my_database" не существует "

Я использую следующий код для подключения к базе данных:

static getDatabaseConnection(): TypeOrmModuleOptions {
        console.log(require('dotenv').config())
        return {
            type: 'postgres',
            host: "127.0.0.1",
            port: 5432,
            username: 'postgres',
            password: 'mysecretpassword',
            database: 'my_database',
            entities: ['dist/**/*.entity{.ts,.js}'],
            synchronize: true,
        };
    }

Любые идеи, где я go не так?

1 Ответ

0 голосов
/ 17 марта 2020

Попробуйте использовать localhost вместо 127.0.0.1

...