Как я могу изменить имя базы данных в соответствии с учетными данными, предоставленными heroku во время производства? - PullRequest
0 голосов
/ 05 мая 2018

Heroku предоставляет собственное имя базы данных и другие учетные данные, но имя моей локальной базы данных отличается. Как я могу изменить имя базы данных в соответствии с учетными данными базы данных, предоставленными heroku во время производства?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Сначала я создал имя приложения на Heroku. Затем я развернул свое приложение на heroku, подключившись к github.

Heroku предоставляет учетные данные базы данных после развертывания наших приложений. Затем я повторно развернул приложение через github, изменив конфигурацию в файле application.properties следующим образом:

#localhost configuration
SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
SPRING_DATASOURCE_URL=jdbc:postgresql://localhost/transactions?useSSL=false
SPRING_DATASOURCE_USER=postgres
SPRING_DATASOURCE_PASSWORD=some_pass

#server database configuration
SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
SPRING_DATASOURCE_URL=jdbc:postgresql://ec2-23-23-247-222.compute-1.amazonaws.com/d6kk9c4s7onnu?useSSL=false
SPRING_DATASOURCE_USER=rimjvlxrdswwou    
SPRING_DATASOURCE_PASSWORD=dd903753bc0adffb96ce541b1d55fb043472e32e28031ddc334175066aa42f69

Затем вы должны отредактировать конфигурационные переменные в соответствии с вашими файлами application.properties, как показано на рисунке ниже

config_var.png

0 голосов
/ 05 мая 2018

Используйте пакет вроде dotenv . dotenv и его варианты, вероятно, существуют для любого языка, который вы используете.

По сути, вы хотите использовать переменные окружения вместо жестких значений кода в вашем коде. Итак, вместо того, чтобы писать что-то вроде этого:

my_database_connect('my_username', 'abc123')

Вы бы написали:

my_database_connect(process.env.DB_USERNAME, process.env.DB_PASSWORD)

В Heroku эти переменные среды уже будут установлены на вкладке "config" вашего приложения. Затем для локальной разработки вы создадите файл с именем .env и в нем будет следующий текст:

DB_USERNAME=my_username
DB_PASSWORD=abc123

Не фиксируйте .env в вашем git-репозитории - он должен жить только на вашей машине, где вы разрабатываете. Теперь ваш код будет работать как локально, так и в Heroku, и подключаться к соответствующей базе данных в зависимости от среды, в которой он работает.

Вот статья, которая более подробно объясняет это для node.js, хотя в основном это лучший метод для общего развития: https://medium.com/@rafaelvidaurre/managing-environment-variables-in-node-js-2cb45a55195f

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...